当我将鼠标悬停在 div 上时,我会做一些事情并在所述 div 旁边放置一个模式窗口。当我将鼠标移开时,我需要隐藏模式。问题是当我将鼠标移动到模态时它消失了,因为我不再将鼠标悬停在原始 div 上。
有没有办法检测我在 mouseout 事件中将鼠标悬停在什么 div 上?什么是不隐藏模态 div 的最干净的方法?
当我将鼠标悬停在 div 上时,我会做一些事情并在所述 div 旁边放置一个模式窗口。当我将鼠标移开时,我需要隐藏模式。问题是当我将鼠标移动到模态时它消失了,因为我不再将鼠标悬停在原始 div 上。
有没有办法检测我在 mouseout 事件中将鼠标悬停在什么 div 上?什么是不隐藏模态 div 的最干净的方法?
尝试将您的模态窗口放在“鼠标悬停”的 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 具有类“元素”并且模态窗口的 id 为“modalWindow”。
这意味着您在设置的超时时隐藏模态窗口,当您在模态胜利或元素上再次翻转时将其清除
只是一个想法^^
如果您可以将两个 div 都用另一个 div 包围。
<div id="outter">
<div id="inner">
....some stuff
</div>
<div id="modal">
...some stuff
</div>
</div>
将 mouseover 设置为内部,将 mouseout 设置为外部。
使用事件relatedTarget duh :(。如果有人这么说会很有帮助:(