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");
}
});