<!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>
问题描述:在输入框输入内容,点击“创建事件”按纽之后,原来被绑定到新建立开关的函数会自动执行,怀疑与委托事件有关。
【jQuery】on注册事件的时候处理函数自动运行
最新推荐文章于 2021-09-06 10:27:54 发布