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)
这也将处理新元素的点击.