如何使用 javascript/jquery 从任何地方禁用鼠标悬停事件?

How to disable mouseover event from everywhere using javascript/jquery?

我正在使用 raphael.js 库,该文件包含一个我想停止工作的鼠标悬停事件。谁能帮帮我?

您可以使用 CSS:

.element {
    pointer-events: none;
}

或类似的东西:

$('.element').on('mouseover mouseenter mouseleave mouseup mousedown', function() {
   return false
});

我不知道你想阻止那个事件触发什么,请更具体地回答你的问题并提供更多相关信息。

实际上,您可以简单地创建一个叠加层来捕获事件并使用 event.stopPropagation() 防止冒泡。

由于 mouseovermouseout 事件不会从子元素冒泡到父元素,因此它变得更加容易 - 创建一个不可见的覆盖层就足够了。

无覆盖:

$("p").mouseover(function() {
    $(this).text("Gotcha!");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p>Mouse over me</p>

有叠加层:

$("p").mouseover(function() {
    $(this).text("Gotcha!");
});
#mouseoverDisabler {
position: fixed;
top: 0px;
left: 0px;
height: 100%;
width: 100%;
background-color: rgba(255, 0, 0, 0.15); /* just for demo. make it 0.0 */
z-index: 10000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="mouseoverDisabler"></div>

<p>Mouse over me</p>

特意将背景色设为红色 - 这将有助于您理解这个想法。可以设置为透明,不可见。