gpt4 book ai didi

javascript - 克隆 JavaScript 事件对象

转载 作者:行者123 更新时间:2023-11-28 06:24:53 24 4
gpt4 key购买 nike

有人知道如何对 native JavaScript 事件对象进行深度复制/克隆吗?我知道我可以创建一个新的事件对象并手动设置适当的属性以匹配原始事件,但如果有一种方法可以克隆,那就容易多了。

最佳答案

上面的代码不会正确复制任何 getter/setter。尝试:

function cloneEvent(e) {
if (e===undefined || e===null) return undefined;
function ClonedEvent() {};
let clone=new ClonedEvent();
for (let p in e) {
let d=Object.getOwnPropertyDescriptor(e, p);
if (d && (d.get || d.set)) Object.defineProperty(clone, p, d); else clone[p] = e[p];
}
Object.setPrototypeOf(clone, e);
return clone;
}

关于javascript - 克隆 JavaScript 事件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35215015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com