[英]JQuery: Reapply document.ready after “show more” appended HTML
[英]How to use jquery on HTML loaded after document.ready()
我有幾個HTML元素,由頁面上的javascript函數呈現:
<a href="#" class="test1">Test</a>
<a href="#" class="test2">Test</a>
<a href="#" class="test3">Test</a>
然后,當單擊Test時,我將使用其他JavaScript創建函數:
$(document).ready(function(){
$( ".test1" ).click(function() {
// Code here
});
$( ".test2" ).click(function() {
// Different code here
});
$( ".test3" ).click(function() {
// Different code here
});
});
但是,由於插入的HTML不會在頁面加載的同時加載(它會在之后動態插入),因此我的click函數無法捕獲事件。 我該如何解決?
您需要使用委托的事件處理程序:
$(document).ready(function(){
$(document)
.on('click', '.test1', function() {
// Code here
})
.on('click', '.test2', function() {
// Code here
})
.on('click', '.test3', function() {
// Code here
});
});
注意,為了獲得最佳性能,應將document
更改為最接近的靜態父元素,該元素在DOM加載時可用。
您可以將點擊事件設置為“實時”,以便在將事件引入dom時將它們附加到對象上。 只需更改.click(function(){....}); 到.live('click',function(){....});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.