Сообщение от vk65535
|
В том то и дело, что не ссылается. Функция работает в контексте элемента, а ссылка на функцию Hide извлекается из глобального контекста через переменную mySuperDiv. Вообще, текстовым обработчиком создать цикл при всем желании не получится. Вот если бы вы свойству onclick присвоили бы ссылку на функцию с замыканием, содержащим ссылку на этот dom-элемент - тогда другое дело.
В 8-м осле проблема циклических ссылок устранена.
|
vk65535, и всё-таки мне кажется циклическая ссылка есть. Свой первый пример переписала в более простом виде. onclick присваивается функция, которая имеет через замыкание ссылку на сам объект DOM. Разве не так?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>
<div id="myDiv"></div>
<script type="text/javascript">
document.getElementById("myDiv").onclick = (function() {
var e = document.getElementById("myDiv");
return function hide() { e.style.display = "none"; };
})();
</script></body></html>