다음 예제 코드에서는 onclick
"foo"라는 텍스트가 포함 된 범위에 이벤트 핸들러를 연결합니다 . 핸들러는 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>