| 
	| 
	
	| 
		
	| 
			
			 
			
				04.10.2008, 08:35
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 15.07.2008 
						Сообщений: 8
					 
		
 |  |  
	| 
				mouseover, mouseout - не распространяется на дочерние элементы
			 Штука такая: 
<div style="display:inline" id="myDiv">Some Text<span style="display:none"><select..></select></div>
 
Event.observe('myDiv', 'mouseover', this.onIn.bindAsEventListener(this));
Event.observe(this.container, 'mouseout', this.onOut.bindAsEventListener(this));
так вот в чём проблема - при наведении на текст(some text) отрабатывает mouseover - там я показываю внутренний скрытый span. Но когда я мышь увожу на этот select в спане - срабатывает mouseout!! В в3ц вроде пишет, что он mouseover, mouseout распространяется на все дочерние элементы. Собсна хотелось-бы понять, почему так и что происходит. Если событие вешается на все дочерние - то получается отрабатывает mouseout с textNode - some text что-ли? |  |  
	| 
		
	| 
			
			 
			
				04.10.2008, 10:57
			
			
			
		 |  
	| 
		
			
			| Флудер       |  | 
					Регистрация: 25.07.2008 
						Сообщений: 1,271
					 
		
 |  |  
	| Во-первых ты не закрыл спан, во вторых ты пользуешся фремворком. w3c за фреймворки не отвечает... |  |  
	| 
		
	| 
			
			 
			
				04.10.2008, 11:15
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 15.07.2008 
						Сообщений: 8
					 
		
 |  |  
	| ну спан - это я тут накидал. ща разобрался - и over & out всплывают на всех дочерних. но ёлки, в диве находится селект - я на селект навожу - всплывает mouseout на диве - почему, ведь селект внутри дива. и как отследить уход из div-a и всего его содержимого? |  |  
	| 
		
	| 
			
			 
			
				05.10.2008, 12:38
			
			
			
		 |  
	| 
		
			
			| Флудер       |  | 
					Регистрация: 25.07.2008 
						Сообщений: 1,271
					 
		
 |  |  
	| в браузерах (в ФФ точно) есть баги: при переходе границы елементов может всплывать аут. Так что надо писать функции с таймером: на аут ставить таймер, а на овер - отменять. |  |  
	| 
		
	| 
			
			 
			
				05.10.2008, 14:36
			
			
			
		 |  
	| 
		
			
			|        |  | 
					Регистрация: 21.02.2008 
						Сообщений: 1,250
					 
		
 |  |  
	| ZoNT,Разве это баги? Это стандартное всплывание события.
 |  |  
	| 
		
	| 
			
			 
			
				05.10.2008, 16:21
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 15.07.2008 
						Сообщений: 8
					 
		
 |  |  
	| вообщем-то я оставил как есть - при переходе внутри элемента к другому элементу - сначала аут срабатывает и сразу-же over над внутренним элементом - т.е. при движении он прячется и тут-же показывается - вроде не мерцает |  |  
	| 
		
	| 
			
			 
			
				05.10.2008, 23:40
			
			
			
		 |  
	| 
		
			
			| Флудер       |  | 
					Регистрация: 25.07.2008 
						Сообщений: 1,271
					 
		
 |  |  
	| 
	
 
	| Сообщение от Андрей Параничев   |  
	| ZoNT, Разве это баги? Это стандартное всплывание события.
 |  
	
 естественно баги: если есть див, а в нём элемент поменьше, то при переходе див/элемент (кусор НЕ выходит за пределы дива) происходит мгновенный маусаут+маусовер дива. |  |  
	| 
		
	| 
			
			 
			
				09.07.2010, 16:40
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 09.07.2010 
						Сообщений: 2
					 
		
 |  |  
	| Люди !!!! Как хорошо, что я на Вас напал .... У меня происходит примерно такая же фигня:есть несколько вложенных друг в друга div, два из них наложенные с разными z-index для создания меню. Стоят обработчики события onmouseover и onmouseout. И вот что диагностикой обнаружено:
 цвет иконки путем сокрытия иконки меняется (иконки для того, чтобы все было видно нормально при любых условиях);
 вначале срабатывает onmouseover (вроде все нормально, - так и должно быть), а затем сразу же срабатывает onmouseout и этим все заканчивается. И еще: не могу поймать разницу между выходом из меню вообще (чтобы закрыть все дочерние окна) и в родительское, чтобы закрыть исходное ....
 Будьте добры, разъясните непонятливому (желательно на уровне детского сада) в чем моя ошибка и как ее исправить ...
 С уважением, Дмитрий
 P.S. Лучше продублировать мне на почту, чтобы всем было хорошо
 (мало ли потеряю адрес).
 |  |  
	| 
		
	| 
			
			 
			
				05.10.2011, 15:16
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 19.09.2011 
						Сообщений: 23
					 
		
 |  |  
	| 
	
 
	| Сообщение от ZoNT   |  
	| естественно баги: если есть див, а в нём элемент поменьше, то при переходе див/элемент (кусор НЕ выходит за пределы дива) происходит мгновенный маусаут+маусовер дива. |  
	
 
	
 
	| Сообщение от Андрей Параничев   |  
	| ZoNT, Разве это баги? Это стандартное всплывание события.
 |  
	
 Меня этот вопрос тоже интересует. Столкнулся с подобной ситуацией в IE7. Если это всплывание события, то почему оно таким образом проявляется? Почему происходит моментальный вызов с возвратом mouseout, если никакие действия к генерации этого события не приводят.
 
Я склонен относить подобное поведение к глюку, но хочу разобраться окончательно чтобы точно знать. |  |  
	| 
		
	| 
			
			 
			
				05.10.2011, 15:34
			
			
			
		 |  
	| 
		
			
			| х.з     |  | 
					Регистрация: 21.11.2010 
						Сообщений: 4,588
					 
		
 |  |  
	| это не глюк .дело в том что при вложенных элементах возникает событие оут у родительского при переходе на дочерний. но за счёт того что у вас обработчик на родительском и идёт всплытие -события генерируются в такой последовательности оут-всплытие события-овер.и почему пропускается оут в других браузерах это странно ,объяснение вижу только одно-вложенный контейнер пустой -а при пустых контейнерах событие как бы проваливается в нижний заполненный.и не важно родительский он или просто подложенный.прозрачность ему чуть поменяйте и проваливание отпадёт или бекграунд ему задайте 			 Последний раз редактировалось dmitriymar, 05.10.2011 в 15:37.
 |  |  
 
 
 |  |