在實際開發中會遇到要給動態生成的html元素綁定觸發事件的情況:
<div id="testdiv"> <ul></ul> </div>
<div id="testdiv">
<ul>
<li name="apple">apple</li>
<li name="pear">pear</li>
</ul>
</div>
<script>
function test(name){
alert("I'm "+name);
}
//做法如下:
$("#testdiv ul").on("click","li", function() {
//test($(this).attr("name"));
//do something here
});
//主動觸發某個<li>的click事件
// $("#testdiv ul li[name='apple']").trigger("click");
</script>
但對於ajax添加進來的html代碼段,如$("#xx").html(html內容),如果想里面的元素也會觸發我們定義的事件,必須委托
需要用到事件委托,比如:
普通綁定事件:$('.btn1').click(function(){}綁定
on綁定事件:$(document).on('click','.btn2',function(){})綁定 .btn是ajax加載的html內容樣式選擇器
