Проблема с анкерами в IE6
Всем доброго дня суток!
Вот кусок кода:
...
active_menu:function() {
var elems = $("menu").getElementsByTagName("li");
for(var i=0; i<elems.length; i++) {
var obj = elems[i];
if(obj) {
obj.onclick = function() {
menu.show_hide(this.id);
return false;
}
}
}
},
...
остальную часть кода я не приводил она не особо нужна, да и смотреть там страшно :),Эта часть кода отвечает за присвоение каждому элементу маркированного списка события onclick. При нажатии на элементы списка открывается определенный элемент див в котором в свою очередь содержатся анкеры.(тэг <a href="...). Проблема следующая: Когда я нажимаю на анкер который должен открыть определенный див, у меня, в Firefox, переходит по href="", т.е. отображается в истории посещения браузера, но мне это незачем, вот поэтому я добавил return false; в обработчик события. А в IE6 return false; накладывается на анкеры даже внутри элементов DIV, и location.href на эти анкеры не действует. Почему так происходит? Я же накладываю событие только на элементы списка li (DIV с анкерами находится междуэлементами li) |
Уберите обработчик события с контейнера <li> и назначайте его какому нибудь дочернему элементу, например первой вложенной ссылке.
Почитайте статью про систему событий на этом сайте, поймете почему так происходит. |
| Часовой пояс GMT +3, время: 03:37. |