jQuery中live()方法及1.9+後去除live()後的替代
定義和用法
live() 方法為被選元素附加一個或多個事件處理程式,並規定當這些事件發生時執行的函式。
通過 live() 方法附加的事件處理程式適用於匹配選擇器的當前及未來的元素(比如由指令碼建立的新元素)。
$(selector).live(event,data,function)
jQuery1.9之前的版本我們可以這樣寫:
$("a").live("focus",function(){
this.blur();
});
jQuery1.9之後由於live被刪除了,所以應該這樣寫:
$(document).on("focus","a",function(){
this .blur();
});
還要注意個問題,如果是從live的寫法換成on的寫法別忘了調整呼叫鏈。因為live的返回值是事件觸發的物件,而使用on則是在容器物件上。
//jQuery1.9-
$("#panel").find("div").live("click",function(){
alert("x");
}).addClass("x");
//jQuery1.9+
$("#panel").on("click","div",function(){
alert("x");
}).find("div").addClass("x");
- 頂
- 0
- 踩