左按钮按住时,Javascript mouseleave / mouseenter不会触发?

时间:2017-08-01 05:12:49

标签: javascript button mouse mouseenter

正如标题所说;我有一个javascript mouseleave和mouseenter事件,但是当按住鼠标左键时它们不会触发(如果按住中间或右键,它们会正常运行)。为什么?还有办法吗?

document.onmouseleave = function(e){
    e = e || window.event;
    console.log(e.which);
}
document.onmouseenter = function(e){
    e = e || window.event;
    console.log(e.which);
}

2 个答案:

答案 0 :(得分:0)

这是因为当按住鼠标左键时选择文本。

答案 1 :(得分:0)

!!所以我想到了使用div并进行了一些实验,我设法找到了解决方法!!

我在身体内添加一个div

<div id="bodyBlock"></div>

然后我添加一些css

body, html {
    height: 100%;
    padding:0px;
    margin:0px;
}

#bodyBlock{
    width:100%;
    height:100%;
    position: absolute;
    border:0px none #000;
    background-color:#111;
    z-index:-10;
}

现在它有效! 似乎div阻止了对身体的点击,当鼠标离开/进入时,它会在按下时记录左按钮(以及其他按钮)!