是否有一个「;“满负荷”-Javascript中添加到DOM的新元素的类似事件侦听器?

是否有一个「;“满负荷”-Javascript中添加到DOM的新元素的类似事件侦听器?,javascript,events,listener,dom-events,innerhtml,Javascript,Events,Listener,Dom Events,Innerhtml,Javascript是否提供了类似于onload的事件监听器,如果通过innerHTML将元素添加到DOM中,将调用该监听器 我知道,…。但它只在整个站点加载时才起作用。。是否有可能通过innerHTML=…添加一个元素,立即触发它所包含的事件侦听器 它应该是这样的,并且必须是一个内联HTML侦听器,如下所示: elementxy.innerHTML = '<b onload="dosth()">....</b>' elementxy.innerHTML='..' 这是

Javascript是否提供了类似于onload的事件监听器,如果通过
innerHTML
将元素添加到DOM中,将调用该监听器

我知道,
。但它只在整个站点加载时才起作用。。是否有可能通过
innerHTML=…
添加一个元素,立即触发它所包含的事件侦听器

它应该是这样的,并且必须是一个内联HTML侦听器,如下所示:

elementxy.innerHTML = '<b onload="dosth()">....</b>'
elementxy.innerHTML='..'
这是一个非常糟糕的黑客行为,但您可以创建一个不可见的
,从而导致错误:

constdosth=()=>{
console.log('dosth');
};
div.innerHTML='b content'

该方法需要一个外部侦听器,但我很确定OP询问的是一个调用内部内联侦听器的方法。您可以使用MutationObserver。这可以告诉您elementxy的子项何时发生更改,比如向其中添加新的html。然后,该侦听器可以在其他地方触发不同的事件。但是,在更改innerHTML之前,您确实需要设置观察器,因此这并不像向要插入的HTML添加一些属性那样简单。你能具体说明什么样的活动吗?您能在更改innerHTML后手动分派它吗?@CertainPerformance是正确的。它必须是HTML标记中的内联侦听器。我在问题上加了这个,我试过修改吗?但它会导致无限循环,因为您无法在特定的div中设置事件侦听器=>除非先解除绑定,否则无法修改任何内容。甚至可能让
dosth
删除
img
“非常糟糕的黑客”这正是我想要的。目的是演示XSS攻击。