jquery通過 live() 方法附加的事件處理程序適用於匹配選擇器的當前及未來的元素(比如由腳本創建的新元素)
$("ul").append("<li class='name'>名稱</li>");
【錯誤】然後通過下面的方式,這樣是不能獲取的 :
$(".name").click(function (){ alert("獲取到append後的節點"); })
【正確】正確的方法是:
$(".name").live("click", function() { alert("獲取到了"); });
jquery 1.7+之後用on代替live,on()方法在被選元素及子元素上添加一個或多個事件處理程序
<div id="one"></div> $('#one').append("<p id='two'>test1</p>"); append後結果: $('#one').append("<p id='two'>test1</p>");
【錯誤】直接用下面的方式,不會彈出窗口的:
$("#two").on("click",function(data){ alert(data); });
【正確】改成下面的方式:
$("body").on("click","#two",function(data){ alert(data); });