我有一个盒子(黑色边框)。我有一个处理程序来处理这个盒子的mouseout事件。问题是当鼠标悬停在此框(红色边框和蓝色边框)中的某个项目(假设div )上时。激发黑色边框事件的mouseout或mouseleave。
我用谷歌搜索了三天,但没有找到任何解决这个问题的方法。当鼠标在其边界内时,为什么在框内触发mouseleave/out事件。div的位置是“绝对”的。我尝试使用核心JavaScript和JQuery。
发布于 2012-01-25 16:32:47
jQuery的.live已弃用,请使用.on
此外,使用mouseout意味着当鼠标离开所选元素或任何子元素时,事件都会被触发。mouseleave仅适用于所选元素。
$('.nocMenuContainer').on('mouseleave',function(){
alert('bye');
});发布于 2012-01-25 16:05:21
确保按钮上方没有另一个选择器。例如,如果你有一个带有填充和标签的div,当你的鼠标从div移动到标签时,mouseleave事件将会触发,即使你在。解决方案是什么?将边框、鼠标输出和填充直接添加到标记中。
发布于 2012-01-25 16:44:31
在http://www.quirksmode.org/js/events_mouse.html#mouseover上有一个很好的文档。它可能会帮助您理解为什么在框中移动鼠标时会触发事件;它还提出了区分外部移动和内部移动的解决方案。
https://stackoverflow.com/questions/8999371
复制相似问题