【问题标题】:jquery is not working on ajax loaded content [duplicate]jquery不适用于ajax加载的内容[重复]
【发布时间】:2015-03-25 10:04:38
【问题描述】:
$(document).ready(function(){
    $(".click").on('click', function(){
        var target = $(this).parent().children(".expand");
        $(target).slideToggle();
    });
});

AJAX 加载的 HTML 内容:

<div class="click" >...div with expand ....</div>
<div class="click" >...div with expand ....</div>

谁能更正我的代码?提前致谢!

【问题讨论】:

  • 我没有看到任何 ajax 请求?
  • 请发布您的完整代码。
  • &lt;div class="click" &gt; 加载了ajax 还是其中的内容加载了ajax?
  • console 上的任何错误

标签: php jquery html css ajax


【解决方案1】:

&lt;div class="click"&gt;&lt;/div&gt; 是动态创建的元素,所以我们需要在这里使用事件委托

参考:Event binding on dynamically created elements?

试试这个,

$(document).on('click', '.click', function(){
    // Do something
});

【讨论】:

  • 不知道为什么你被否决了,因为这是正确的答案。
  • 我也很困惑为什么我会被否决...亲爱的否决者请解释一下
  • 是的,我的正确答案是 -1... 人... 在这里你 +1 记录在案
  • 太棒了,谢谢你工作得这么好!!如果可能的话,你能解释一下吗
  • @user3598375:这是因为事件处理程序需要附加到页面加载时存在的一些DOM-元素,这里是document(但可能是'body'或其他)。第二个参数提供了要绑定事件的元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-14
  • 2013-08-15
  • 1970-01-01
相关资源
最近更新 更多