Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在DOM中的克隆/插入元素上触发事件?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在DOM中的克隆/插入元素上触发事件?

Javascript 如何在DOM中的克隆/插入元素上触发事件?,javascript,jquery,Javascript,Jquery,我无法在克隆/插入到DOM的元素上触发事件 检查小提琴 HTML: 如果我单击克隆的DIV a,什么也不会发生 如何在克隆元素上触发事件?我提出了两种解决方案 首先,在本例中更好的选择是将true参数添加到clone(),例如,在本例中: $('.A').clone(true).insertAfter('.A'); 作为clone()的第一个参数,表示: “一个布尔值,指示是否应复制事件处理程序和数据 以及元素。默认值为false。“- 这意味着所有绑定事件将保留在每个克隆元素上 第二个选

我无法在克隆/插入到DOM的元素上触发事件

检查小提琴

HTML:

如果我单击克隆的
DIV a
,什么也不会发生


如何在克隆元素上触发事件?

我提出了两种解决方案

首先,在本例中更好的选择是将
true
参数添加到
clone()
,例如,在本例中:

$('.A').clone(true).insertAfter('.A');
作为
clone()
的第一个参数,表示:

“一个布尔值,指示是否应复制事件处理程序和数据 以及元素。默认值为false。“-

这意味着所有绑定事件将保留在每个克隆元素上


第二个选项(可能不是本例的方法)是使用
on()
的事件委派功能:

“委派事件的优点是,它们可以从中处理事件 以后添加到文档中的子元素。“-

在这种情况下:

$(document).on("click", ".A", function() { ...
现在,类为
.A
的每个新元素都将附加此单击事件,甚至是克隆的元素


可能的dup:这是正式的dup。我会删除它。我给它做了标记。
$('.A').clone(true).insertAfter('.A');
$(document).on("click", ".A", function() { ...