Chrome JavaScript: вопрос о событиях - PullRequest
0 голосов
/ 08 сентября 2011

У меня есть HTML-документ с divs:

<div id='divTop'>
    <div id='divChild'></div>
</div>

В конце документа:

var top = document.getElementById('divTop');    
lib.addEvent(top, 'click', function () { alert('top'); });
var child = document.getElementById('divChild');
lib.addEvent(child, 'click', function () { alert('child'); });
var body = document.getElementsByTagName('body')[0];
lib.addEvent(body, 'click', function () { alert('body'); });
// lib.addEvent is just helper function. 
//It uses domEl.addEventListener or domEl.attachEvent

Как вы можете видеть, у меня есть события щелчка для 2 делений и тела. Поэтому, когда я нажимаю на дочерний элемент div, я ожидаю оповещения в следующем порядке: child, top, body. И я получил этот результат во всех браузерах, кроме Chrome. В хроме я получаю: ребенок, тело, верх.

Я что-то здесь упускаю? Спасибо!

1 Ответ

1 голос
/ 09 сентября 2011

Найдена проблема! Я не должен использовать переменную с именем 'top'.

var top = document.getElementById('divTop'); 

Его следует переименовать, поскольку объект окна уже имеет имя top

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...