[英]JQuery 'on' vs. 'live'
我有一個場景,JQuery'on'和'live'不會執行相同的操作。 也許有人可以指出原因。 我在我的項目中使用JQuery 1.7.2,在這個版本中,'live'已被'on'取代。 我在列表頁面中使用以下代碼。 基本上,此頁面有一個字母欄,用戶可以單擊該欄並將加載具有該姓氏的所有客戶端。 我想通過ajax執行鏈接。
碼:
$("a.listajax").on("click", function (e) {
e.preventDefault();
var url = $(this).attr("href");
$("div.content").load(url + " div.content");
return false;
});
這里的問題是,當我第一次加載頁面並單擊鏈接時,一切正常。 頁面通過ajax加載。 但是,之后所有的鏈接都失去了綁定,然后如果我點擊任何鏈接,我會加載整個頁面。
我將'on'替換為'live',並且鏈接開始表現完美,即使在后續點擊中也是如此。
我錯過了什么?
一個不是簡單地用.on
替換.live
。
$("a.listajax").live('click', function(e))
相當於:
$(document).on('click', 'a.listajax', function(e))
重要
如果你的所有.listajax
錨都有一個共同的祖先,那么你不應該從DOM中刪除它,你應該使用它(最深的一個)而不是document
; 這將提高性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.