Показать сообщение отдельно
  #9 (permalink)  
Старый 11.02.2010, 19:56
Новичок на форуме
Отправить личное сообщение для BlueIce Посмотреть профиль Найти все сообщения от BlueIce
 
Регистрация: 05.01.2010
Сообщений: 4

Сообщение от 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>
Ответить с цитированием