我们假设我有两个矛头,A和B,它们在一个角落重叠:
+-----+ | | | A | | +-----+ +---| | | B | | | +-----+
当鼠标离开A和B时,我想触发一个事件.
我试过了
$("#a,#b").mouseleave(function() { ... });
但如果鼠标离开任一节点,则会触发该事件.一旦鼠标不在任一节点上,我希望触发事件.
有没有办法做到这一点?我有一个想法,涉及全局变量跟踪每个div上的鼠标状态,但我希望更加优雅的东西.
解决方法
我一直遇到这个问题,而我的’快速修复’,如果它适合我正在做的是以下;
var timer; $("#a,#b").mouseleave(function() { timer = setTimeout(doSomething,10); }).mouseenter(function() { clearTimeout(timer); }); function doSomething() { alert('mouse left'); }