关于JavaScript的cloneNode方法对于节点上的事件clone问题的研究。

关于JavaScript的cloneNode方法对于节点上的事件clone问题的研究。

我的测试环境是IE8,对于事件clone要注意一下3点:
1.运行时添加的事件不会被克隆,如下例:

1 =  document.getElementById('a');  // 假设a是一个div
2   a.onclick  =   function  ()  { alert(this.innerHTML); }
3 =  a.cloneNode();

2.解析HTML时原来带的事件会被克隆,如下例:
1 < div id = 'a' onclick = 'alert( this .innerHTML)' > aaaa </ div >

3.通过attachEvent添加的事件会被克隆,如下例:
1 =  document.getElementById('a');
2    a.attachEvent('onclick',  function  ()  {
3          alert(this.innerHTML);
4    }
);
5 =  a.cloneNode();

最后如果想在clone时将节点其中的子节点一同clone的话,请使用cloneNode(true)。

你可能感兴趣的:(关于JavaScript的cloneNode方法对于节点上的事件clone问题的研究。)