Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.06.2018, 09:55
Новичок на форуме
Отправить личное сообщение для root-andrey Посмотреть профиль Найти все сообщения от root-andrey
 
Регистрация: 25.02.2010
Сообщений: 9

Ошибка в 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>
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2018, 10:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

root-andrey,
именно этот код сбоит?
Ответить с цитированием
  #3 (permalink)  
Старый 15.06.2018, 10:08
Новичок на форуме
Отправить личное сообщение для root-andrey Посмотреть профиль Найти все сообщения от root-andrey
 
Регистрация: 25.02.2010
Сообщений: 9

да.(выпадающее меню у меня с задержкой) - в качестве примера, заметил что и этого достаточно,
когда использую 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, 15.06.2018 в 10:30.
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2018, 10:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

root-andrey,
не вижу проблемы, код у вас скорее всего иной, и если проблемы только с Firefox, значит где-то не поставили event.
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2018, 10:51
Новичок на форуме
Отправить личное сообщение для root-andrey Посмотреть профиль Найти все сообщения от root-andrey
 
Регистрация: 25.02.2010
Сообщений: 9

Сообщение от рони Посмотреть сообщение
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, 15.06.2018 в 10:58.
Ответить с цитированием
  #6 (permalink)  
Старый 15.06.2018, 11:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

root-andrey,
версия jQuery?
Ответить с цитированием
  #7 (permalink)  
Старый 15.06.2018, 11:20
Новичок на форуме
Отправить личное сообщение для root-andrey Посмотреть профиль Найти все сообщения от root-andrey
 
Регистрация: 25.02.2010
Сообщений: 9

Сообщение от рони Посмотреть сообщение
root-andrey,
версия jQuery?
jQuery v1.12.4
Ответить с цитированием
  #8 (permalink)  
Старый 15.06.2018, 11:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

root-andrey,
не могу воспроизвести вашу ошибку.
Ответить с цитированием
  #9 (permalink)  
Старый 15.06.2018, 11:33
Новичок на форуме
Отправить личное сообщение для root-andrey Посмотреть профиль Найти все сообщения от root-andrey
 
Регистрация: 25.02.2010
Сообщений: 9

Сообщение от рони Посмотреть сообщение
root-andrey,
не могу воспроизвести вашу ошибку.
Прошу прощения.

Ошибка получается не в этом коде.
Так как запустил отдельно на чистой страничке и ошибки тоже не увидел.

Я запускаю код там где на странице есть еще js обработки и вот она ошибка. Что то где портит блин
Ответить с цитированием
  #10 (permalink)  
Старый 15.06.2018, 13:37
Новичок на форуме
Отправить личное сообщение для root-andrey Посмотреть профиль Найти все сообщения от root-andrey
 
Регистрация: 25.02.2010
Сообщений: 9

над меню находиться абсолютно позиционированный элемент бегущая строка marquee, она и вызывает данную ошибку
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка при работе с jQuery autoComplete ogogo jQuery 0 22.10.2016 11:48
jquery 1.5.1 - warning в Firefox DeMETAL jQuery 5 07.04.2011 14:56
jQuery не работает ни в IE8 ни в Firefox Jon Events/DOM/Window 7 09.01.2010 23:39
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16
jQuery 1.2.6 Ajax: траблы в FireFox и Opera Russell jQuery 5 28.05.2009 22:22