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);
});