我的测试环境是IE8,对于事件clone要注意一下3点:
1.运行时添加的事件不会被克隆,如下例:
1a = document.getElementById('a'); //假设a是一个div
2 a.onclick = function () { alert(this.innerHTML); }
3b = a.cloneNode();
2.解析HTML时原来带的事件会被克隆,如下例:
1<div id='a' onclick='alert(this.innerHTML)'>aaaa</div>
3.通过attachEvent添加的事件会被克隆,如下例:
1a = document.getElementById('a');
2 a.attachEvent('onclick', function () {
3 alert(this.innerHTML);
4 });
5b = a.cloneNode();
最后如果想在clone时将节点其中的子节点一同clone的话,请使用cloneNode(true)。