Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测鼠标何时离开窗口_Javascript_Jquery - Fatal编程技术网

Javascript 检测鼠标何时离开窗口

Javascript 检测鼠标何时离开窗口,javascript,jquery,Javascript,Jquery,我用这段代码来检测鼠标离开窗口的情况,这段代码运行得很好 jQuery(document).mouseleave(function(){console.log('out')}) jQuery(document).mouseenter(function(){console.log('in')}); 但在chrome中,即使在触摸滚动条时,鼠标也会离开。我怎样才能防止这种情况? 请给我一些建议 我正在使用这个代码`addEvent(文档,“mouseleave”,函数(e){ `试试这段代码

我用这段代码来检测鼠标离开窗口的情况,这段代码运行得很好

jQuery(document).mouseleave(function(){console.log('out')})
jQuery(document).mouseenter(function(){console.log('in')});
但在chrome中,即使在触摸滚动条时,鼠标也会离开。我怎样才能防止这种情况? 请给我一些建议

我正在使用这个代码`addEvent(文档,“mouseleave”,函数(e){

`

试试这段代码


鼠标移动演示
除名{
宽度:40%;
高度:120px;
利润率:0.15px;
背景色:#d6edfc;
浮动:左;
}
分区{
宽度:60%;
身高:60%;
背景色:#fc0;
利润率:10px自动;
}
p{
线高:1米;
保证金:0;
填充:0;
}
移动鼠标

移动鼠标

0

0

移动鼠标

移动鼠标

0

0

var i=0; 美元(“部门超额”) .mouseover(函数(){ $(“p:first”,this).text(“鼠标悬停”); }) .mouseout(函数(){ $(“p:first”,this).text(“鼠标悬停”); $(“p:last”,this).text(++i); }); var n=0; $(“部门请假”) .mouseenter(函数(){ $(“p:first”,this).text(“鼠标输入”); }) .mouseleave(函数(){ $(“p:first”,this).text(“鼠标左键”); $(“p:last”,this).text(++n); });
这是一个黑客程序,但您可以将页面包装成一个
,使其可滚动:

html, body, .page-container {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: auto;
}
然后在上面收听
mouseenter
mouseleave

$('.page-container').hover(handlerIn, handlerOut);

为了在不考虑滚动条和自动完成字段的情况下检测鼠标删除:

document.addEventListener("mouseleave", function(event){

  if(event.clientY <= 0 || event.clientX <= 0 || (event.clientX >= window.innerWidth || event.clientY >= window.innerHeight))
  {

     console.log("I'm out");

  }
});
document.addEventListener(“mouseleave”),函数(事件){
if(event.clientY=window.innerHeight))
{
console.log(“我退出”);
}
});

< /代码>对你有用吗?我不相信这是可能的;谷歌浏览器似乎认为滚动条是“外部的”。在
文档
以及
窗口
中。抱歉,我必须删除我的答案,因为只有一个人。要回答您的问题,@Atul您可以使用
元素.width-元素.scrollWidth
。仍然不确定,但请尝试!
document.addEventListener("mouseleave", function(event){

  if(event.clientY <= 0 || event.clientX <= 0 || (event.clientX >= window.innerWidth || event.clientY >= window.innerHeight))
  {

     console.log("I'm out");

  }
});