我似乎遇到了jQuery点击功能的问题,我有以下代码:
j$(document).ready(function(e) {
setInterval(function(){
j$.ajax({
url: "/include/new_customer.php",
cache: false
})
.done(function( html ) {
j$( "section .col-xs-12" ).append( html );
});
},80000);
j$('a.dropDown').click(function(e){
e.preventDefault();
j$(this).closest('.row').next().toggleClass('hidden');
});
});
使用以下HTML(抓住必要的内容):
<div class="col-xs-12>
<div class="row">
<a href="#" class="dropDown">Manage</a>
</div>
<div class="row hidden">
<!-- stuff -->
</div>
</div>
您可以看到是否单击了a标签,隐藏类的行将切换。我有另外两行的AJAX,所以它会是这样的:
<div class="col-xs-12>
<div class="row">
<a href="#" class="dropDown">Manage</a>
</div>
<div class="row hidden">
<!-- stuff -->
</div>
<div class="row">
<a href="#" class="dropDown">Manage</a>
</div>
<div class="row hidden">
<!-- stuff -->
</div>
</div>
我的问题是,对于新数据,当我点击标签时,切换功能不起作用。我已经完成了一些测试,例如从inspect元素中删除隐藏的类,并且有数据要显示。我不知道发生了什么事。请帮忙!
答案 0 :(得分:13)
您需要使用 event delegation 为动态加载的元素附加事件:
j$(document).on('click','a.dropDown',function(e){
e.preventDefault();
j$(this).closest('.row').next().toggleClass('hidden');
});