W poniższym przykładowym kodzie dołączam onclickprocedurę obsługi zdarzeń do zakresu zawierającego tekst „foo”. Program obsługi to anonimowa funkcja, która wyświetla plik alert().
Jeśli jednak przypiszę do węzła nadrzędnego innerHTML, ten onclickprogram obsługi zdarzeń zostanie zniszczony - kliknięcie „foo” nie powoduje wyświetlenia okna alertu.
Czy można to naprawić?
<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>