Javascript 老鼠下来了吗?不依赖事件

Javascript 老鼠下来了吗?不依赖事件,javascript,jquery,debugging,Javascript,Jquery,Debugging,这是一个经常被问到的问题,但有一个转折点 我需要弄清楚鼠标是否被按住了。可以我做一些研究。我发现这个可爱的问题/答案:它给出了多个如何跟踪鼠标是否被按下的例子。为了便于使用,我将其浓缩为以下片段: $(document).mousedown(function(){ Game.isMouseDown = true; }); $(document).mouseup(function(){ Game.isMouseDown = false; Game.lastSquare =

这是一个经常被问到的问题,但有一个转折点

我需要弄清楚鼠标是否被按住了。可以我做一些研究。我发现这个可爱的问题/答案:它给出了多个如何跟踪鼠标是否被按下的例子。为了便于使用,我将其浓缩为以下片段:

$(document).mousedown(function(){
    Game.isMouseDown = true;
});
$(document).mouseup(function(){
    Game.isMouseDown = false;
    Game.lastSquare = [];
});
除少数情况外,它工作得相当好。我目前正在进行大量调试,所以我几乎总是打开调试器。当我将鼠标悬停在调试器上并释放时(例如,当我使用断点时,或只是快速移动鼠标时),将鼠标悬停在Game div上而不按住任何鼠标按钮会产生与按住鼠标按钮相同的结果


我需要防止这种情况发生,我相信这样做的方法是在按住鼠标时请求DOM,而不是请求由事件设置的my Game.isMouseDown变量。但是通过我所有的研究,我找不到如何向DOM询问这个问题。

检查
mousemove
事件,它本身捕获了按下的按钮数量

$(document).mousemove(function(e){
    if(e.buttons > 0){
        Game.isMouseDown = true;
    } else {
        Game.isMouseDown = false;
    }
});

鼠标不是DOM元素。谢谢。这工作做得很好。我将其直接集成到已经就位的Game div鼠标事件中,不再需要Game.isMouseDown变量。我还去掉了函数中由某些鼠标事件触发的if语句。我也觉得自己像个n00b。