Jquery点击事件不适用于新添加的div

3
我已经编写了一些代码,点击按钮后会在一系列div中添加新的推文(div)。请参见下面的简化代码。但是,即使新的div具有与其他div相同的所有类,它也无法在单击时执行。
如何让jquery的click方法对新添加的div起作用?
$('.buttonClass').on('click', function() {

    ....
              $newTweet.insertAfter('button');
    });



$('.douglascalhoun').on('click', function() {
          $("div").slideToggle();
          $("div.douglascalhoun").slideDown();
        });

@ShaunakD 抱歉,我刚刚检查了一下。 - Rohit Arora
我喜欢下面Milind的回答,刚试了一下,似乎可以工作。 - realsimonburns
3个回答

3
您需要使用事件委托来为动态生成的元素附加事件:
$('body').on('click', '.douglascalhoun',function() {
      $("div").slideToggle();
      $("div.douglascalhoun").slideDown();
    });

谢谢Milind!非常感谢 - 这个可行 :) - realsimonburns
@realsimonburns:很高兴能帮到你。 :) - Milind Anantwar

0

对于动态生成的元素,幕后事件委托的工作方式如下

$(staticAncestors).on(eventName, dynamicChild, function() {
  // Your Function
});

好的,知道了 - 谢谢! - realsimonburns

0

当您动态添加事件时,请使用以下代码。

$(document).on('click', 'selector', function(){
     //from dynamic div
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接