Javascript 使用滚动条并右键单击可触发jQuery mouseleave

Javascript 使用滚动条并右键单击可触发jQuery mouseleave,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,在ChromeV41中右键单击会触发jQuery mouseleave。这在Firefox中是不会发生的 另外,在windows中使用滚动条时会触发mouseleave,同样,Firefox中不存在此问题 铬有什么需要注意的吗 非常感谢您的帮助。如果需要更多信息,请发表评论 这就是我触发事件的方式 $("body").on("mouseleave", function(){ alert(); }); 我已经找到了解决你问题的办法。看看这个 我已经附加了带有body的mousedown

在ChromeV41中右键单击会触发jQuery mouseleave。这在Firefox中是不会发生的

另外,在windows中使用滚动条时会触发mouseleave,同样,Firefox中不存在此问题

铬有什么需要注意的吗

非常感谢您的帮助。如果需要更多信息,请发表评论

这就是我触发事件的方式

$("body").on("mouseleave", function(){
     alert();
});

我已经找到了解决你问题的办法。看看这个


我已经附加了带有body的
mousedown
事件,该事件在右键单击body时向body添加了一个类<在本例中,code>mouseleave在
mouseout
之后调用,因此它检查类是否仍然附加到主体。如果为true,则不会显示任何警报。(这是一个修复而不是解决方案:()

您可以通过在触发mouseleave事件时检查鼠标位置来解决此问题

在我的例子中,我只想在鼠标移动到文档上方时触发事件,所以我只检查鼠标的Y位置是否小于0

这也会在单击鼠标右键时停止触发事件


此处的完整详细信息:

能够查看您的代码将对此处有很大帮助。使用代码更新了问题。请检查。仍不知道为什么问题被否决。看起来像是Chrome错误。滚动条是合乎逻辑的,但在Chrome中单击鼠标右键(在显示菜单之前发出警报)时会做出响应似乎有点奇怪。当你右键点击然后点击鼠标移动时,它无法被捕获。我已经更新了小提琴。它在右键点击时显示了
,因为如果你点击它
mousedown
,它将被触发。我忘了把
控制台。如果
clauseYeah得到它,我会把
记录在
中。谢谢:)最好的答案!干杯是的,没错。但这将需要浏览器计算每次鼠标移动的Y位置,这将再次消耗GPU。
$("body").on("mousedown", function(e){
    if(e.which==3) 
    {
        $(this).addClass("right");
        console.log("From Right Click");
    }
}).on("mouseleave", function(e){
    if($(this).hasClass("right"))
    {
        console.log("it is right clicked");
        $(this).removeClass("right");  
        return;
    }
    alert();
     $(this).removeClass("right");  
     console.log(e.which+"From Mouseleave");
});