Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法绕过或丢弃鼠标事件?_Javascript_Jquery - Fatal编程技术网

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

Javascript 有没有办法绕过或丢弃鼠标事件?,javascript,jquery,Javascript,Jquery,我想知道是否有一种方法可以“扔掉”,如果这是正确的术语,或者在鼠标事件发生时忽略它 比如说, 假设我有一个鼠标指针绑定到一个对象,并且我有一个特定的处理程序连接到它。有没有办法忽略该对象上的某些mouseenter事件,以便在这些实例中不调用处理程序 注意:我知道你可以用“if”语句来实现这一点,但假设我没有访问处理程序函数的权限。只需在处理程序中放置一个if var fire = true; $('#something').click(function() { if (!fire)

我想知道是否有一种方法可以“扔掉”,如果这是正确的术语,或者在鼠标事件发生时忽略它

比如说,

假设我有一个鼠标指针绑定到一个对象,并且我有一个特定的处理程序连接到它。有没有办法忽略该对象上的某些mouseenter事件,以便在这些实例中不调用处理程序


注意:我知道你可以用“if”语句来实现这一点,但假设我没有访问处理程序函数的权限。

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

var fire = true;

$('#something').click(function() {
   if (!fire)
      return;
   // do fun stuff
});
是的,只需使用全局“标志”即可

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

var _ignoreMouseEnterOnce = false;
现在,在事件处理程序中,有以下内容:

if (_ignoreMouseEnterOnce) {
    _ignoreMouseEnterOnce = false;
    return;
}
在任何你想去的地方升起国旗:

_ignoreMouseEnterOnce = true;

如果您没有访问处理程序的权限,请检查问题中的注释-是否可以分离原始处理程序并附加一个新的鼠标指针处理程序来包装原始处理程序?这样,您可以使用下面答案中的if帮助程序来启动原始处理程序。这听起来非常复杂。你到底想做什么?