通过触发器打开div,只要鼠标在打开的div中,就将其保持打开状态

时间:2011-09-20 12:13:05

标签: jquery show-hide

一个简单的jQuery问题 有触发器,打开一个div,现在我希望只要鼠标在div中,div就会保持打开状态。

EG。 (触发器) - >打开(框) - >只要框中有鼠标,就会打开框。

如何做到这一点?

http://jsfiddle.net/Gq2LX/

2 个答案:

答案 0 :(得分:2)

问题是你的悬停正在处理你的触发器div。 如果你离开触发器div,则调用mouseOut函数。

稍微更改你的DOM,然后将INSIDE放在触发器中使其工作。

HTML:

<div id="trigger">
  <span>This is a trigger</span>
  <div id="box"></div>
</div>

脚本:

$('#trigger').hover(function() {
    $('#box').show();
}, function() {
    $('#box').hide();
});

的CSS:

#box {width:350px;height:400px;border:1px solid #000;display:none;}
#trigger {width:350px;}

我改变了#trigger元素的宽度(默认情况下div元素占用100%) 然后我更改了标记(在触发器中添加了框。

工作示例:

http://jsfiddle.net/Gq2LX/2/

答案 1 :(得分:0)

或者那样:

$('#trigger').mousenter(function() {
    $('#box').show();
});

$('#box').mouseleave(function() {
    $(this).hide();
});

http://jsfiddle.net/Gq2LX/6/