Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Событие hover (https://javascript.ru/forum/events/50897-sobytie-hover.html)

hfts_rider 16.10.2014 11:04

Событие hover
 
Есть 2 элемента (родитель и ребенок), при назначенном событии на родителя (сразу mouseout и mouseover), если навести на ребенка, событие сбивается (делает mouseover).

Как сделать так что бы Ребенок не влиял на событие родителя и если я в зоне родителя тогда действовало событие родителя mouseover вне зависимости от наведения на детей?

Ссылка на архив с примером
(если дописать в событие hover еще и ребенка, тогда буде все отлично, но если будет кучу детей? Думаю есть какое-то другое решение).

danik.js 16.10.2014 11:10

mouseenter/mouseleave . Но они не кроссбраузерны. В jQuery вроде бы реализована кроссбраузерная поддержка этих событий. И шорткат hover()

hfts_rider 16.10.2014 11:18

Цитата:

Сообщение от danik.js (Сообщение 335947)
mouseenter/mouseleave . Но они не кроссбраузерны. В jQuery вроде бы реализована кроссбраузерная поддержка этих событий. И шорткат hover()

Подставлял и hover, и mouseover/mouseout, и mouseenter/mouseleave. Все идентично.. Может еще есть какие-то варианты?

voral 16.10.2014 11:20

Может я не до конца понял вопрос, но мне кажется вам даст все ответы прочтение статьи из здешнего учебника

voral 16.10.2014 11:21

да архив с примером ведет на 404... В песочницу бы оформили

hfts_rider 16.10.2014 11:34

"danik.js" все правильно понял, мне нужно mouseenter/mouseleave, но почему то они у меня не срабатывают.

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

hfts_rider 16.10.2014 11:39

Накидал пример в песочнице.

hfts_rider 16.10.2014 11:41

Ааа.. я затупил) Я же стрелки отдельно вынес с этого блока)
Уже решена проблема)
Всем спасибо!

рони 16.10.2014 11:43

hfts_rider,
// HOVER
	$('.sliderHfts').mouseenter(function(){
		$('.sh-btns').css('display','block');
		$('.sh-btns').stop().animate({'opacity':'1'},200);
	}).mouseleave(function(event){
	    if($(event.relatedTarget).closest(this).size()) return;
		$('.sh-btns').stop().animate({'opacity':'0'},200,function(){
		$('.sh-btns').css('display','none');
		});
	});

hfts_rider 16.10.2014 11:43

Цитата:

Сообщение от рони (Сообщение 335960)
hfts_rider,
// HOVER
	$('.sliderHfts').mouseenter(function(){
		$('.sh-btns').css('display','block');
		$('.sh-btns').stop().animate({'opacity':'1'},200);
	}).mouseleave(function(event){
	    if($(event.relatedTarget).closest(this).size()) return;
		$('.sh-btns').stop().animate({'opacity':'0'},200,function(){
		$('.sh-btns').css('display','none');
		});
	});

Ага)) Так и сделал)


Часовой пояс GMT +3, время: 14:32.