我的问题如下:我有一个触发器(a)和一个弹出窗口(div)。div 并不嵌套在锚点内。
- 当我将鼠标悬停在 a 上时,我希望 div 出现。
- 当我从 a 转到 div 时,我希望它保持可见。
- 当我离开 div 时,我希望它关闭。
- 当我将鼠标悬停在 a 上并离开而不进入 div 时,我希望 div 关闭。
我已经弄清楚了大部分,但现在我正在努力解决要求。2.在a上检查mouseleave时,我检查div上是否有mouseenter。如果是,我想中止鼠标离开。如果没有,我想关闭 div。
我究竟做错了什么?这甚至是正确的方法吗?
这是标记:
<a href="#" class="popup_toggle" style='display:block;width:50px;height:50px;border:1px solid red;position:relative;'>Toggle</a>
<div class="popup_div" style='position:absolute;top:50px;left:0px;border:1px solid blue;display:none;'>Popup</div>
这是jQuery:
$('.popup_toggle').mouseenter(function() {
var element = $(this).next('.popup_div');
$.data(this, 'timer', setTimeout(function() {
element.show(100);
}, 500));
});
$('.popup_toggle').mouseleave(function() {
clearTimeout($.data(this, 'timer'));
if($('.popup_div').mouseenter==true)
{
return false;
}
else
{
$('.popup_div').hide(100)
};
});