AJAX调用后jQuery功能无法正常工作

前端之家收集整理的这篇文章主要介绍了AJAX调用后jQuery功能无法正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我似乎遇到了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元素中删除隐藏的类,并且有数据要显示.我不知道发生了什么事.请帮忙!

解决方法

您需要使用 event delegation为动态加载的元素附加事件:
j$(document).on('click','a.dropDown',function(e){
    e.preventDefault();
    j$(this).closest('.row').next().toggleClass('hidden');
});

猜你在找的Ajax相关文章