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