cloneNode與事件拷貝

看風景就發表於2018-08-29

用法:

var newNode = oldNode.cloneNode(deep);

//deep,布林值,若為true,則克隆oldNode及其子節點,否則只克隆oldNode本身

關於複製事件

1. 內聯的事件,例如<div onclick=""></div>,onclick會被複制,並且可以正常使用

2. IE的attachEvent註冊的事件,會被複制,但是這個是IE的一個bug,在IE中複製時,最好先移除事件,複製完在新增上

3. addEventListener和onclick(非內聯)註冊的事件,不會被複制

4. 如何複製事件

   1. 新元素重新註冊事件
   2. 使用內聯事件
   3. 使用事件委託
   4. 使用jquery的clone方法  

相關文章