如何使用javascript/jquery从各处禁用mouseover事件

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

本文关键字:mouseover 事件 何使用 javascript jquery      更新时间:2023-09-26

我使用的是raphae.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>

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