![]() |
1
271
这段代码说明了什么 happytime harry 我想说的是。当鼠标进入时,会出现一个工具提示,当鼠标离开时,它会设置一个消失的延迟。如果鼠标在触发延迟之前进入同一元素,那么我们将使用之前存储的数据在触发前销毁触发器。
|
![]() |
2
265
干净优雅的悬停检查:
|
![]() |
3
127
您也可以使用以下答案: https://stackoverflow.com/a/6035278/8843
|
![]() |
4
100
将鼠标输出超时设置为淡出,并将返回值存储到对象中的数据。然后在mouseover上,如果数据中有值,则取消超时。 删除淡出回调时的数据。 实际上,使用mouseenter/mouseleave的成本更低,因为当孩子们在mouseover/mouseout上点火时,它们不会为菜单点火。 |
![]() |
5
34
您可以使用jQuery的
|
![]() |
6
24
然后在文档的任何地方,你这样称呼它,它会返回true或false:
我在IE7+、Chrome1+和Firefox4上进行了测试,测试结果正常。 |
![]() |
7
9
在jQuery中,可以使用.is(':hover'),所以
现在将是提供OP中请求的功能的最简洁的方式。 注:以上内容在IE8或更低版本中不起作用
作为在IE8中工作的不那么简洁的替代方案(如果我可以信任IE9的IE8 MODU),并且这样做不会触发
|
![]() |
8
7
我接受了SLaks的想法,把它包在一个盒子里 small class .
|
![]() |
9
6
jsFiddle found here
|
![]() |
10
6
因为我不能评论,所以我将写下这篇文章作为回答! 请理解css选择器“:hover”和hover事件之间的区别!
确实被贬为jQuery 1.8,这里是jQuery网站的状态:
他们删除这个用法的原因是(“:hover”)还不清楚,但是哦,好吧,你仍然可以像上面那样使用它,这里有一个小技巧可以继续使用它。
哦,我 我不会再重复了 超时版本如下所示 带来了很多复杂性 ,如果没有其他方法,请使用超时功能,相信我 95%的病例有另一种方法 希望我能帮助一些人。 格里茨·安迪 |
![]() |
11
2
谢谢你们两位。在某个时刻,我不得不放弃尝试检测鼠标是否仍在元素上方。我知道这是可能的,但可能需要太多的代码才能完成。 我花了一点时间,但我采纳了你的两个建议,想出了一些对我有用的办法。 下面是一个简化(但功能性)的示例:
然后,为了在一些文本上进行这项工作,我所要做的就是:
加上许多漂亮的CSS,这允许一些非常好的鼠标悬停帮助工具提示。顺便说一句,我需要鼠标移出的延迟,因为复选框和文本之间的间隙很小,当你移动鼠标时,帮助会闪烁。但这很有魅力。我也为聚焦/模糊事件做了类似的事情。 |
![]() |
12
2
我经常看到超时用于此,但是在事件的上下文中,您不能像这样查看坐标吗
根据上下文的不同,您可能需要在调用areXYInside(e)之前确保(this==e.target)。 仅供参考-我正在研究在dragLeave处理程序中使用这种方法,以确认dragLeave事件不是通过进入子元素触发的。如果不检查是否仍在父元素中,则可能会错误地采取仅适用于真正离开父元素时的操作。 编辑:这是一个好主意,但不够一致。也许需要一些小的调整。 |
![]() |
13
2
您可以使用
$(".pop-up").mouseover(function(e) { $(this).addClass("over"); }); $(".pop-up").mouseout(function(e) { $(this).removeClass("over"); }); $("#mainContent").mouseover(function(e){ if (!$(".expanded").hasClass("over")) { Drupal.dhtmlMenu.toggleMenu($(".expanded")); } }); |
![]() |
14
2
这将是最简单的方法!
|
![]() |
15
2
这里有一种技术不依赖于jquery,而是使用本机DOM
然后,要检测悬停:
|
![]() |
16
1
我在另一个问题中回答了这个问题,并提供了您可能需要的所有详细信息: Detect IF hovering over element with jQuery 基本上,您可以执行以下操作:
这是从jQuery1.7开始测试的。 |
![]() |
17
1
这里有一个函数可以帮助您检查鼠标是否在元素内。您应该做的唯一一件事是调用函数,在该函数中可以有一个与实时鼠标关联的EventObject。大概是这样的:
您可以在github或文章底部看到源代码: https://github.com/mostafatalebi/ElementsLocator/blob/master/elements_locator.jquery.js
|
![]() |
18
0
扩展“Happytime harry”所说的内容,确保使用.data()jquery函数存储超时id。这样,当稍后在同一元素上触发“mouseenter”时,您可以非常轻松地检索超时id,从而消除工具提示消失的触发。 |
![]() |
19
0
您可以使用jQuery的mouseenter和mouseleave事件。您可以在鼠标进入所需区域时设置标志,并在鼠标离开该区域时取消设置标志。 |
![]() |
20
0
我结合了本主题的想法,得出了以下结论,这对于显示/隐藏子菜单非常有用:
编辑:现在意识到这种方法在IE中不能正常工作。 |
![]() |
21
0
我不能使用上面的任何建议。
所以我这样做:
第一。
每次需要移动鼠标时,都会存储鼠标的x、y位置,
|
![]() |
22
0
|
![]() |
23
0
|
![]() |
24
-1
你可以用
这是一个htm代码snnipet:
这是JS代码:
这就是我所说的:) |
![]() |
Zeinab Ghaffarnasab · 如何在形状上操作鼠标? 7 年前 |
![]() |
ofey · d3 v4工具提示传递数据d问题 7 年前 |
![]() |
mbugr · 如何检查鼠标悬停在所有按钮WPF上 9 年前 |
![]() |
Kanav · 嵌套元素甚至在stopPropagation之后激发父级事件 10 年前 |
![]() |
Anuj · 在使用d3.js创建的条形图上悬停后触发2个鼠标悬停事件? 10 年前 |