最佳答案
在下面的示例代码中,我将一个 onclick
事件处理程序附加到包含文本“ foo”的 span。处理程序是一个弹出 alert()
的匿名函数。
但是,如果我分配给父节点的 innerHTML
,这个 onclick
事件处理程序将被销毁——单击“ foo”不会弹出警告框。
这能修好吗?
<html>
<head>
<script type="text/javascript">
function start () {
myspan = document.getElementById("myspan");
myspan.onclick = function() { alert ("hi"); };
mydiv = document.getElementById("mydiv");
mydiv.innerHTML += "bar";
}
</script>
</head>
<body onload="start()">
<div id="mydiv" style="border: solid red 2px">
<span id="myspan">foo</span>
</div>
</body>
</html>