1. 程式人生 > >【jQuery】on註冊事件的時候處理函式自動執行

【jQuery】on註冊事件的時候處理函式自動執行

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    var Circle={
        x:405,
        y:305,
        Radius:300
    };
    var arr=new Array();//存放event
    var rangeArr=new Array();//存放區間
    $("#createEvent").on("click",function(){
        if($("#input").children()[0].value==""){
            $("#warn").text("請輸入內容!");
        }
        else{
            arr.push({
                event: $("#input").children()[0].value,
                color: $("#input").children()[1].value
            });
            var $addButton=$("<button class='createNode'>+</button>");
            var $deleteButton=$("<button class='deleteNode'>x</button>");
            var $newList=$("<li name="+arr.length+">"+$("#input").children()[0].value+" "+$("#input").children()[1].value+"</li>");

            $newList.append($addButton);
            $newList.append($deleteButton);
            $("#table").append($newList);
            $("#table").on("click",{value:arr.length},".createNode",drawAfterClick(event));
        }

        function drawAfterClick(event){
            alert(1);
            alert(event.data.value);
        }
});

    });
    </script>
</head>

<body>
    <div id="info">
        <form id="input">
            事件:<input type="text" name="事件名稱"/>
            顏色:<select name="color"/>
            <option value="red">Red</option>
            <option value="yellow">Yellow</option>
            <option value="green">Green</option>
            <option value="blue">Blue</option>
            <option value="orange">Orange</option>
            <option value="brown">Brown</option>
            <option value="purple">Purple</option>
            </select>
        </form>
        <button id="createEvent">建立事件</button>
        <ul id="table">
            <li>事件 顏色</li>
        </ul>
    </div>
</body>
</html>
問題描述:在輸入框輸入內容,點選“建立事件”按紐之後,原來被繫結到新建立開關的函式會自動執行,懷疑與委託事件有關。