首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何复制带有事件监听器的DOM节点?

如何复制带有事件监听器的DOM节点?
EN

Stack Overflow用户
提问于 2013-03-14 19:48:10
回答 2查看 38.2K关注 0票数 71

我试过了

代码语言:javascript
复制
node.cloneNode(true); // deep copy

它似乎没有复制我使用node.addEventListener("click", someFunc);添加的事件侦听器。

我们使用Dojo库。

EN

回答 2

Stack Overflow用户

发布于 2019-05-28 22:45:18

这是@JeromeJ在评论中所描述的。使用下面的HTML代码创建初始元素。

<DIV ONCLICK="doSomething(this)">touch me</DIV>

当您克隆此元素时,结果将具有相同的处理程序," this“将指向克隆的元素。

如果ONCLICK处理程序可以很容易地添加到JavaScript中,那就太好了。这种方法意味着您必须用HTML编写一些代码。

票数 1
EN

Stack Overflow用户

发布于 2022-01-28 12:45:18

我知道我来晚了,但这是一个对我有效的解决方案:

代码语言:javascript
复制
const originalButtons = original.querySelectorAll<HTMLElement>('button');
const cloneButtons = clone.querySelectorAll<HTMLElement>('button');
originalButtons.forEach((originalButton: HTMLElement, index: number) => {
  cloneButtons[index].after(originalButton);
  cloneButtons[index].remove();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15408394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档