[英]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.