当我将鼠标悬停在div上时,我会做一些事情并在所述div旁边放置一个模态窗口。当我离开时我需要隐藏模态。问题是当我将鼠标移动到模态时它会消失,因为我不再将鼠标移到原始div上。
有没有办法检测我在mouseout事件中被鼠标移动的div?什么是最隐蔽模态div的最简洁方法?
答案 0 :(得分:4)
尝试将模态窗口放在“mouseovered”div中。
它应该做的伎俩
编辑:
由于你不能把模态窗口放在里面你可以尝试一些“棘手”的东西。
var timerFade;
$(function(){
$(".element").mouseout(function(){
timerFade = setTimeout(500,function(){
// make the modal disappear
});
});
$("#modalWindow").mouseover(function(){
clearTimeout(timerFade);
});
$(".element").mouseover(function(){
timerFade = setTimeout(500,function(){
clearTimeout(timerFade);
});
// if modal is hidden, show it or move from another
// element whith same behavior
});
});
假设您想要的div具有类“element”,而模态窗口具有id“modalWindow”。
这意味着您在设定的超时时隐藏模态窗口,并且当您在模态获胜或元素上再次翻转时清除模态窗口
只是一个想法^^
答案 1 :(得分:3)
如果你可以用另一个div包围这两个div。
<div id="outter">
<div id="inner">
....some stuff
</div>
<div id="modal">
...some stuff
</div>
</div>
将mouseover设置为内部,将mouseout设置为outter。
答案 2 :(得分:0)
使用事件relatedTarget duh :(。如果任何人说:(