有没有办法绕过或丢弃鼠标事件?

时间:2011-10-18 15:18:26

标签: javascript jquery

我想知道是否有办法“扔掉”,如果这是正确的术语,或者当它发生时忽略鼠标事件。

例如,

假设我有一个绑定到对象的mouseenter,并且我附加了一个特定的处理程序。有没有办法忽略该对象上的某些mouseenter事件,以便在这些实例中不调用处理程序?

注意:我意识到您可以使用'if'语句执行此操作,但假设我无权访问处理函数。

2 个答案:

答案 0 :(得分:2)

只需在处理程序中放置一个if

var fire = true;

$('#something').click(function() {
   if (!fire)
      return;
   // do fun stuff
});

答案 1 :(得分:0)

是的,只需使用全局“标志”即可。

例如,在代码之上声明全局标志,如下所示:

var _ignoreMouseEnterOnce = false;

现在你的事件处理程序有这个:

if (_ignoreMouseEnterOnce) {
    _ignoreMouseEnterOnce = false;
    return;
}

在任何地方举起旗帜:

_ignoreMouseEnterOnce = true;