如何 detect/listen 将 class 添加到悬停时的元素?

How to detect/listen for a class being added to an element on hover?

我在悬停 .show-dropdown 时将 class 添加到我的导航中,我想在启动导航时禁用我的滚动。

突变观察者是执行此操作的最佳方法还是矫枉过正?

我想做一些像

这样简单的事情
if($('.show-dropdown').length > 0) {
  window.disableOnScroll = 1;
}

不幸的是,当悬停启动时,它永远不会被调用,我相信这是因为它只检查 class 负载。

变异观察者是我最好的选择吗? 或者它应该只用于侦听 node/element 被添加到 dom 而不是class?

您可以通过订阅 mouseover 事件来禁用滚动。

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

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