Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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_Html_Css_Mutation Observers - Fatal编程技术网

Javascript 如何在悬停时检测/侦听添加到元素的类?

Javascript 如何在悬停时检测/侦听添加到元素的类?,javascript,jquery,html,css,mutation-observers,Javascript,Jquery,Html,Css,Mutation Observers,我在hover上的导航中添加了一个类。显示下拉列表,我想在导航启动时禁用滚动 突变观察者是做这件事的最好方法还是杀伤力过大 我想做一些简单的事情,比如 if($('.show-dropdown').length > 0) { window.disableOnScroll = 1; } 不幸的是,在启动悬停时从未调用它,我相信这是因为它只检查加载的类 突变观察者是我的最佳选择吗?还是只用于侦听添加到dom中的节点/元素而不是类?您可以通过订阅mouseover事件在输入时禁用滚动 为了

我在hover
上的导航中添加了一个类。显示下拉列表
,我想在导航启动时禁用滚动

突变观察者是做这件事的最好方法还是杀伤力过大

我想做一些简单的事情,比如

if($('.show-dropdown').length > 0) {
  window.disableOnScroll = 1;
}
不幸的是,在启动悬停时从未调用它,我相信这是因为它只检查加载的类


突变观察者是我的最佳选择吗?还是只用于侦听添加到dom中的
节点/元素而不是类?

您可以通过订阅
mouseover
事件在输入时禁用滚动

为了再次启用滚动,您还需要收听
mouseleave
事件。触发这些事件后,重新启用滚动


事件委托人非常适合这样做,这样您就不必在一个地方处理所有事件。

您所说的
nav
是什么意思?有没有理由不使用
鼠标悬停
?@brk nav有一个下拉菜单,悬停时会显示出来,这就是我指的Hanks nipuna,我用mouseover/mouseleave组合使用了它:)你说的事件委托器是什么意思?没问题。它是一种用于组合来自多个元素的事件的方法(在您的示例中,如果您有多个.show下拉列表)。如果你只有一个,你就不需要它们了。