Javascript cloneNode无法克隆事件

cloneNode的使用

var box = document.querySelector('.box');

// 影子克隆: 只克隆节点本身
var box1 = box.cloneNode(false);

// 深度克隆: 克隆节点以及所有子节点
var box2 = box.cloneNode(true);

无法克隆非内联事件

使用原生克隆方法之克隆属性和内联事件,对于通过事件监听器添加的事件并不会克隆。

// 内联事件处理函数,将会被绑定到克隆所得的新节点上
<div onclick="someFunction();">Click</div>
var el = document.querySelector('.some-class');

//addEventListener函数: 事件将不会被绑定到克隆所得的新节点上
el.addEventListener('click', function(e){
    //用户单点
},false);

// 元素属性: 事件将不会被绑定到被克隆的节点上
el.onclick = function(e) {
    // 用户点击
}
原文地址:https://www.cnblogs.com/yanjiez/p/10331118.html