84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
clonenode(true)可以克隆属性,但是事件似乎没有克隆,如何克隆事件?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
clonenode是无法把克隆的节点的事件也复制过来的。
clonenode
解决方法:
写一个copy函数,可以用getEventListeners方法获取要克隆的节点的所有事件(有兼容性问题)。
copy
getEventListeners
用事件委托。
如果你用了jQuery,你可以用.clone()方法。
jQuery
.clone()
还是重新绑定事件吧,我在用爱妹子UI的时候也遇到过,我clone下拉组件,如果连事件一并clone的话,发现clone出来的下拉组件点击下拉是被克隆的那个(即点击clone出来的下拉框,被克隆的那个下拉列表被打开)。我当时的解决办法是,调用官方提供的selected样式复写的方法,其实原理也就是重新绑定事件。
一般都有只复制dom,也有复制dom+绑定的事件功能选择的,可以查一下接口
clonenode
是无法把克隆的节点的事件也复制过来的。解决方法:
写一个
copy
函数,可以用getEventListeners
方法获取要克隆的节点的所有事件(有兼容性问题)。用事件委托。
如果你用了
jQuery
,你可以用.clone()
方法。还是重新绑定事件吧,我在用爱妹子UI的时候也遇到过,我clone下拉组件,如果连事件一并clone的话,发现clone出来的下拉组件点击下拉是被克隆的那个(即点击clone出来的下拉框,被克隆的那个下拉列表被打开)。我当时的解决办法是,调用官方提供的selected样式复写的方法,其实原理也就是重新绑定事件。
一般都有只复制dom,也有复制dom+绑定的事件功能选择的,可以查一下接口