Показать сообщение отдельно
  #4 (permalink)  
Старый 05.06.2012, 20:13
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Дело в том, что когда обработчик события задаётся в атрибуте HTML-тэга, то он видит вначале свойства элемента, которому он принадлежит, а уже потом свойства window.
Когда при первом клике вызывается обработчик с кодом alert($$(this).$$prev().innerHTML); то у соответствующего элемента <div> нет свойства $$, поэтому идентификатор $$ возвращает соответствующее свойство window, то есть глобальную переменную с таким именем. После этого, при выполнении того же обработчика, в элементе <div> создаётся свойство $$.
При втором клике внутри обработчика идентификатор $$ уже возвращает свойство $$ элемента <div>.
Ответить с цитированием