神奇的 adoptNode 元素克隆 – 博客更新(一百一十一)

1267°C 15-08-2022 notbyai
最近更新于:2022-10-10 11:56:25

文章摘要moonshot-v1-8k

Standby API Responsing..

通常,我们使用 js 来克隆某一元素时一般会优先考虑 cloneNode(deep) 方法,通过该方法我们可以非常轻松实现元素克隆。当我们使用 on.xxx 为被克隆元素添加方法后,再使用 cloneNode 对其进行克隆后的元素将不再附带其自定义事件,也就是说:cloneNode()无法克隆事件(除元素内联事件外),这就导致其在部分场景无法适用。(注:在 jQuery 中的替代为 clone() 方法,该方法可以完整克隆自定义事件)
后了解到 importNode()及adoptNode(),前者与 cloneNode 一样无法克隆事件,后者则不同:adoptNode(Node)方法用于从另外一个文档中获取一个节点(可以是任何节点类型) adoptNode()会将原文档中的节点删除,类似元素“剪贴”后保留所有事件,这也是我们想要的。

Ps.

搜了一圈也没找到替代方法,一般就让用jquery,估计这个方法知道这个隐藏属性的也比较少,临时使用简单记录一下。


评论留言

avatar
「 涂鸦画板 」 关闭表情 bilibili 小电视
h0h1h2h3h4h5h6h7h8h9h10h11h12h13h14h15h16h17h18h19h20h21h22h23h24h25h26h27h28h29h30h31h32h33h34h35h36h37h38h39h40h41h42h43h44h45h46h47h48h49h50h51h52h53h54h55h56h57h58h59h60h61h62h63
0 条评论

👋 还没人评论,来抢沙发吗?