jquery - 为什么单击对附加元素不起作用?

标签 jquery jquery-click-event jquery-append

我想使用 jQuery append 函数将一些 html 元素从一个容器无休止地移动到另一个容器,但是,当我单击已添加的元素时,单击事件将不再触发。附后。

根据与我类似的一些线程,我发现附加元素已从其事件监听器中剥离。我怎样才能避免这种情况,有人可以提供解决方案吗?

这是:Fiddle

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

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

最佳答案

它会起作用的。使用以下方法进行附加。

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

问题的解释,

执行以下操作,

$("span").click(function(){

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

$(document).on('click', 'span.class', function(...

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

关于jquery - 为什么单击对附加元素不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153669/

相关文章:

php - 通过 PHP (CodeIgniter) 从数据库中使用 JQuery 自动完成

jQuery 绑定(bind)解除绑定(bind)点击事件

javascript - 如何多次触发 '.click' 事件?

javascript - 为什么将 jQuery 的 .append() 函数与带有元素名称和其中的数组作为单个参数的 jQuery 对象一起使用?

javascript - 为什么我不能正确附加具有指定 ID 的标签?这是一个逃避问题的角色吗?

javascript - 我如何在 jQuery 中操作这个对象

javascript - instanceof 检查附加到数据属性的 jQuery 插件实例

php - 当 id 在 php 中包含字符串时如何设置 DIV 样式?

jQuery:append() 与appendTo()

javascript - 如何对多个div使用jquery-scrollTo