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

发布于 2024-12-05 15:28:10 字数 236 浏览 1 评论 0原文

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

例如。 (trigger)->open(box)->只要鼠标在框中,就保持框打开。

如何做到这一点?

http://jsfiddle.net/Gq2LX/

A simple jQuery question
There is trigger, which opens a div, now I want the div to remain open as long as the mouse is in the div.

Eg. (trigger)->open(box)->as long as mouse in the box, leave box open.

How does one do this?

http://jsfiddle.net/Gq2LX/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小苏打饼 2024-12-12 15:28:10

问题是你的悬停正在触发 div 上。
如果你离开触发器 div,你的 mouseOut 函数就会被调用。

稍微改变一下你的 DOM,然后将框放在触发器内即可使其工作。

html:

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

script:

$('#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 /

the problem is the hover you have is working on your trigger div.
if you leave the trigger div your mouseOut function is called.

change your DOM a bit, and put the box INSIDE the trigger makes it work.

html:

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

script:

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

css:

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

i changed the width of the #trigger element (by default the div element takes 100%)
and i changed the markup (adding box inside the trigger.

working example:

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

拍不死你 2024-12-12 15:28:10

或类似的:

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

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

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

or like that:

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文