是否可以在不破坏后代事件侦听器的情况下附加到innerHTML? [英] Is it possible to append to innerHTML without destroying descendants' event listeners?
本文介绍了是否可以在不破坏后代事件侦听器的情况下附加到innerHTML?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在以下示例代码中,我将 onclick
事件处理程序附加到包含文本foo"的范围.处理程序是一个匿名函数,它会弹出一个 alert()
.
但是,如果我分配给父节点的 innerHTML
,这个 onclick
事件处理程序被破坏 - 单击foo"无法弹出警告框.
这能解决吗?
<头><script type="text/javascript">函数开始(){myspan = document.getElementById("myspan");myspan.onclick = function() { alert ("hi");};mydiv = document.getElementById("mydiv");mydiv.innerHTML += "bar";}头部><body onload="start()"><div id="mydiv" style="border: 纯红色 2px"><span id="myspan">foo</span>