【jQuery】on註冊事件的時候處理函式自動執行
阿新 • • 發佈:2019-02-14
<!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>
問題描述:在輸入框輸入內容,點選“建立事件”按紐之後,原來被繫結到新建立開關的函式會自動執行,懷疑與委託事件有關。