Ошибка в Firefox используя функцию hover - jQuery
Здравствуйте!
Использую функцию hover библиотеки jQuery для обработки событий mouseover и mouseout, получаю Ошибку Error: Permission denied to access property "parentNode" только в Firefox. Чем это может быть вызвано? <script type="text/javascript"> jQuery( "#br li.x_br" ).hover( function() { alert( this ); }, function() { alert( this ); } ); </script> <div> <ul id="br"> <li class="x_br"><a href="#">Меню 1</a></li> <li class="x_br"><a href="#">Меню 2</a></li> <li class="x_br"><a href="#">Меню 3</a></li> <li class="x_br"><a href="#">Меню 4</a></li> <li class="x_br"><a href="#">Меню 5</a></li> <li class="x_br"><a href="#">Меню 6</a></li> <li class="x_br"><a href="#">Меню 7</a></li> <li class="x_br"><a href="#">Меню 8</a></li> </ul> </div> |
root-andrey,
именно этот код сбоит? |
да.(выпадающее меню у меня с задержкой) - в качестве примера, заметил что и этого достаточно,
когда использую this или eventObject аргумент функции eventObject.currentTarget Если на один элемент то нормально обрабатывается.(например div) а это мой код для обработки выпадающего меню с задержкой var menuTop = (function(){ var currentMenuItem; var timerMenuOpen; var status = false; function toogleShowMenu_(){ if(currentMenuItem){ elemSubMenu = currentMenuItem.find(".wrapperSubMenu"); if(status){ statusSubMenu = "none"; currentMenuItem.removeClass("active"); currentMenuItem = null; status = false; }else{ currentMenuItem.addClass("active"); statusSubMenu = "block"; status = true; } if(elemSubMenu.length){ elemSubMenu.css("display", statusSubMenu); } } } function setTimerMenuShow_(eventObject){ currentMenuItem = jQuery(eventObject.currentTarget); timerStatus = true; timerMenuOpen = setTimeout(function() { menuTop.toogleShowMenu(); }, 200); } function clearTimerMenuShow_(){ if(!status){ clearTimeout(timerMenuOpen); currentMenuItem = null; } } return { setTimerMenuShow: setTimerMenuShow_, clearTimerMenuShow: clearTimerMenuShow_, toogleShowMenu: toogleShowMenu_ }; }()); $("#header_menu li.menuItem").hover( function(eventObject){ menuTop.setTimerMenuShow(eventObject); }, function(){ menuTop.clearTimerMenuShow(); menuTop.toogleShowMenu(); } ); jQuery("#header_menu .closeMenu").on("click", function(event){menuTop.toogleShowMenu();}); <div id="header_menu"> <ul> <li class="menuItem"><a href="#">Меню 1</a> <div class="wrapperSubMenu"> <div class="outerWrapper"> <ul> <li class="menuItem"><a href="#">Меню 2</a></li> <li class="menuItem"><a href="#">Меню 3</a></li> <li class="menuItem"><a href="#">Меню 4</a></li> </ul> </div> </li> <li class="menuItem"><a href="#">Меню 2</a></li> <li class="menuItem"><a href="#">Меню 3</a></li> </ul> </div> </script> |
root-andrey,
не вижу проблемы, код у вас скорее всего иной, и если проблемы только с Firefox, значит где-то не поставили event. |
Цитата:
Ниже приведенный код вызывает ошибку jQuery( "#header li.menuItem" ).hover( function(event) { alert( event.currentTarget ); }, function(event) { alert( event.currentTarget ); } ); <div id="header"> <ul> <li class="menuItem"><a href="#">Меню 1</a> <div class="wrapperSubMenu"> <div class="outerWrapper"> <ul> <li><a href="#">Меню 2</a></li> <li><a href="#">Меню 3</a></li> <li><a href="#">Меню 4</a></li> </ul> </div> </div> </li> <li class="menuItem"><a href="#">Меню 2</a></li> <li class="menuItem"><a href="#">Меню 3</a></li> </ul> <div> |
root-andrey,
версия jQuery? |
Цитата:
|
root-andrey,
не могу воспроизвести вашу ошибку. |
Цитата:
Ошибка получается не в этом коде. Так как запустил отдельно на чистой страничке и ошибки тоже не увидел. Я запускаю код там где на странице есть еще js обработки и вот она ошибка. Что то где портит блин :) |
над меню находиться абсолютно позиционированный элемент бегущая строка marquee, она и вызывает данную ошибку
|
Часовой пояс GMT +3, время: 11:23. |