是否有办法绕过或丢弃鼠标事件

Is there a way to bypass or throw away a mouse event?

本文关键字:鼠标 事件 是否      更新时间:2023-09-26

我想知道是否有一种方法来"扔掉",如果这是正确的术语,或者忽略鼠标事件发生时。

例如,

假设我有一个绑定到对象的mouseenter,并且我有一个附加到它的特定处理程序。是否有一种方法可以忽略该对象上的某些mouseenter事件,以便在这些实例期间不调用处理程序?

注意:我意识到你可以用'if'语句来做到这一点,但假设我没有访问处理程序函数的权限。

在处理程序中放置一个if

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

是的,只需使用全局"flag"。

例如,在代码的顶部声明全局标志,如下所示:
var _ignoreMouseEnterOnce = false;

现在在你的事件处理程序中写入:

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

在你想要的地方升起旗帜:

_ignoreMouseEnterOnce = true;