/ / jQuery Hover miga, jeśli div wyzwalacza i nakładki celowej nakładają się na siebie - jquery, jquery-hover

Podpowiedź jQuery migocze, jeśli element wyzwalający div i docelowy element div pokrywają się - jquery, jquery-hover

Skonfigurowałem prosty dymek jQueryfunkcja, ale chodzi o to, gdy umieścisz kursor nad elementem wyzwalającym, działa, ale jeśli przesuniesz mysz nad docelowy element div, pozostając na przełączniku wyzwalacza (nakładania), migocze !? Jakieś pomysły?

Mam ten kod jQuery:

            $("#tag").hover(
function () {
$("#homeHover").show();
},
function () {
$("#homeHover").hide();
}
);

Dzięki tej strukturze HTML:

<div id="homeHover"></div>
<div id="tag">

</div>

I ten CSS:

#homeHover {
width: 150px;
height: 150px;
position: absolute;
background: url("../img/arrow.png") no-repeat scroll 0 0 transparent;
top: 145px;
left: 0px;
display: none;
}
#tag {
float: left;
}

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz wyzwolić zdarzenie mouseenter i mouseleave dla elementu wyzwalającego div, gdy przesuniesz nad docelowym elementem div. To zatrzyma migotanie.

$("#homeHover").on({
mouseenter: function(){
// Trigger #tag hover to stop flickering
$("#tag").mouseenter();
}

mouseleave: function(){
// Trigger #tag mouseleave
$("#tag").mouseleave();
}
});

0 dla odpowiedzi nr 2
$(document).mouseover(function(e) {
if (e.target == $("#homeHover").get(0) || e.target == $("#tag").get(0)) {
$("#homeHover").show();
}
else {
$("#homeHover").hide();
}

});