我想使用 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/