鼠标悬停/鼠标离开,鼠标进入/鼠标离开,鼠标悬停闪烁问题
Mouseover/mouseout, mouseenter/mouseleave, hover flickering issue
我有一个div,里面有一个图像。当我将图像悬停时,我创建了一个工具提示div,它绝对位于图像的一部分(绝对位置很重要)。它包含标题和所有文本。
这一切都很好,直到你把工具提示框悬停。它不会向下冒泡,它认为我不再悬停在图像上,从而使工具提示框消失。然后它就注册了,我又把图像悬停了它在显示工具提示框和隐藏它之间来回切换
因此闪烁的问题。
在SO上有一堆关于闪烁问题的帖子,我尝试了很多解决方案,但没有一个有效。我尝试过鼠标悬停/鼠标离开,鼠标进入/鼠标离开,悬停,甚至将live()与它们结合使用。我甚至从从头开始创建工具提示切换到在那里有一个空div,这样当页面加载时它就会在DOM中,以防出现这个问题。我真的不知道该怎么办了。这是我现在的代码。
$("img").bind("mouseover", function() {
var pimg = $(this);
var position = pimg.position();
var top = position.top;
var left = position.left;
var title = $(this).attr('title');
var alt = $(this).attr('alt');
$('.toolTip').css({'left' : left, 'top' : top, 'width' : width}).append('<div><h3>' + title + '</h3><p>' + alt + '</p></div>');
});
$("img").bind("mouseout", function() {
$('.toolTip').empty();
});
问题是a)您需要使用mouseenter/mouseleave和b)工具提示div需要驻留在具有mouseenter/mouseleave侦听器的元素中。
,
<div id="mouseoverdiv">
<div class="tooltip">some text</div>
<img src="" />
</div>
相关文章:
- 如何在按住鼠标按钮且光标在视口外时检测鼠标离开
- 如果鼠标离开父对象,则隐藏元素
- 鼠标输入和鼠标离开不起作用
- 鼠标输入鼠标离开没有按照我认为应该的方式工作
- 鼠标离开浏览器窗口的Javascript修改
- 未检测到鼠标离开时的事件
- 鼠标离开后强制重新加载gif
- Angular:模拟触摸设备上的鼠标离开
- 如何激活鼠标离开,如果已经 x 时间
- 悬停(鼠标离开)方法不显示效果
- 正在处理.js - 当鼠标离开画布时继续交互
- mouse在 iframe 的内容中输入鼠标离开
- Javascript - 鼠标离开时延迟动画
- Jquery 鼠标悬停和鼠标离开
- 在单击时对元素进行动画处理,并在该元素和其他元素上单击鼠标输入/鼠标离开
- 鼠标离开不会再次打开
- 鼠标离开时悬停和反向的跨浏览器动画 gif
- FF 鼠标离开/鼠标输入事件
- 下拉导航 - 鼠标离开时菜单闪烁
- 如何将鼠标离开添加到我的文件中?以及我的代码会是什么样子