Забавно, что в этом совершенно неправильном ответе, в котором приводятся ссылки на избегание дополнительной типизации в качестве оправдания, около половины кода является избыточным.
дующем примере кода я прилагаюonclick
обработчик события в span, содержащий текст "foo". Обработчик - это анонимная функция, которая выдает предупреждение ().
Однако, если я назначу родительский узел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>