Ладно, я в замешательстве. У меня есть глобальный обработчик событий щелчка на document
. На странице у меня есть несколько ссылок. Каждая ссылка обрабатывается одним и тем же обработчиком событий щелчка, который, среди прочего, предотвращает всплытие события на уровень документа и предотвращает выполнение ссылки. Одна из этих ссылок имеет специальный обработчик кликов, который должен выполнять свою работу, а затем передавать событие общему событию клика для ссылок. Но это не так.
document.onclick = function()
{
document.body.innerHTML += "You clicked me!";
};
document.getElementsByTagName("a")[0].onclick = function(e) {
this.innerHTML += " Click it!";
e.stopPropagation();
//This return false appears only to
//prevent the link from its default action
return false;
};
document.getElementById("link").onclick = function(e) {
this.innerHTML += " Go ahead, ";
//But this return false appears to stop
//the propagation up to the previous event
//I would think that removing the link below
//would cause the event to propagate to the event
//above which would then stop the propagation and
//prevent the default, but apparently this is
//not the case; removing the line below causes
//the link to load Google like normal
return false;
};
Как заставить нижнее событие срабатывать и переходить к верхнему событию, которое затем отменяет событие?
Посмотрите, что я имею в виду здесь
document.links
полезным для обхода. - person   schedule 20.07.2011