为什么不点击附加元素?

use*_*413 3 jquery jquery-click-event jquery-append

我想使用jQuery append函数无限地将一些html元素从一个容器移动到另一个容器,但是当我点击已经附加的元素时,click事件不会再触发.

基于类似于我的一些线程,我发现附加的元素被剥离了它们的事件监听器.我怎么能避免这种情况,有人可以展示解决方案吗?

这是: 小提琴

    $('section.container-A div.elem').click(function() {
        $('section.container-B').append(this) ;
    }) ;

    $('section.container-B div.elem').click(function() {
        $('section.container-A').append(this) ;
    }) ;
Run Code Online (Sandbox Code Playgroud)

Opt*_*ime 18

它会工作.使用以下方法进行追加.

 $(document).on('click', 'section.container-A div.elem', function() {
        $('section.container-B').append(this) ;
 }) ;
Run Code Online (Sandbox Code Playgroud)

解释问题,

执行以下操作,

$("span").click(function(){
Run Code Online (Sandbox Code Playgroud)

在加载页面时,事件处理程序将附加到页面span当前所有元素.每次点击都可以创建新元素.他们没有附加处理程序.您可以使用

$(document).on('click', 'span.class', function(...
Run Code Online (Sandbox Code Playgroud)

这也将处理新元素的点击.