簡體   English   中英

將jQuery實時搜索添加到動態輸入

[英]Adding jQuery live search to dynamic inputs

我正在使用jQuery實時搜索插件,需要將它綁定到類的所有實例。 我的類實例可能是也可能不是動態的。

我知道我可以通過將它嵌套在jQuery Live函數EG $(".myLink").live(click function(){});來實現將它綁定到動態類實例$(".myLink").live(click function(){});

但是,我還需要非動態類來進行綁定。

如何在不定義liveSearch綁定兩次的情況下完成此操作? (一旦文檔准備好了靜態元素,一旦在動態元素的單擊處理程序中)。

這是我的liveSearch代碼,不確定它是否重要。

$(".myClass").liveSearch({
url: 'foo.php',
id: 'liveSearchID',
parent: '.myParent',
});

非常感謝。

您可以使用jQuery .on()liveSearch綁定到present(非動態)或將來的元素,如:

$("#parentContainer").on("click", ".myClass", function(){
  $(this).liveSearch({
     // options
  }); // liveSearch
}); // on

請注意 ,您必須將.on()應用於選擇器.myClass父容器 ,然后將事件, .myClass作為后代選擇器和處理程序傳遞。

DEMO

.on()需要jQuery 1.7+

編輯 (2012年12月15日 - 太平洋時間下午4:13):

舊版jQuery的用戶應該使用.delegate()而不是.live() ......所以只需用這種方式調整代碼.delegate(selector, eventType, handler) (仍然將.delegate()應用於父容器)喜歡 :

$("#parentContainer").delegate(".myClass", "click", function() {
  $(this).liveSearch({
     // options
  }); // liveSearch
}); // delegate

使用.delegate()查看新的DEMO (需要jQuery v1.4.2 +)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM