Pet*_*son 13 jquery events dom mouseleave
假设我有两个特殊的div,A和B,它们在一个角落重叠:
+-----+
| |
| A |
| +-----+
+---| |
| B |
| |
+-----+
Run Code Online (Sandbox Code Playgroud)
我想触发当鼠标离开的事件都 A和B.
我试过这个
$("#a, #b").mouseleave(function() { ... });
Run Code Online (Sandbox Code Playgroud)
但是如果鼠标离开任一节点,这会触发事件.我希望在鼠标未超过任一节点时触发事件.
是否有捷径可寻?我有一个想法,涉及全局变量跟踪每个div上的鼠标状态,但我希望更优雅的东西.
ade*_*neo 18
我一直遇到这个问题,如果它适合我正在做的事情,我的"快速修复"是以下内容;
var timer;
$("#a, #b").mouseleave(function() {
timer = setTimeout(doSomething, 10);
}).mouseenter(function() {
clearTimeout(timer);
});
function doSomething() {
alert('mouse left');
}
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/adeneo/LdDBn/
| 归档时间: |
|
| 查看次数: |
4453 次 |
| 最近记录: |