Проблема с анкерами в 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, время: 15:11. |