我似乎对jQuery click函数有问题,我有以下代码:
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>
您可以看到,如果单击一个标签,则隐藏类的行将切换。我有追加另外2行的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元素中隐藏的类,并显示数据。我不知道这是怎么回事。请帮忙!
您需要使用事件委托来为动态加载的元素附加事件:
j$(document).on('click','a.dropDown',function(e){
e.preventDefault();
j$(this).closest('.row').next().toggleClass('hidden');
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句