如何知道鼠标是否在窗口内
How to know whether the mouse is inside the window?
我似乎找不到答案。
我有一个mouseleave
事件,在其中我想检查,当事件触发时,鼠标是否当前在窗口内(如果不是,它可以是浏览器的选项卡栏,后退按钮等)。
var cursorInPage = false;
$(window).on('mouseout', function() {
cursorInPage = false;
});
$(window).on('mouseover', function() {
cursorInPage = true;
});
$('#some_element').on("mouseleave",function(){
if(cursorInPage === true){
//Code here runs despite mouse not being inside window
}
});
我可以绑定一个窗口mouseleave
事件吗?如果离开文档/窗口的外部作用域,是否会触发这样的事件?上面的代码有一个问题,因为我认为元素的mouseleave在窗口
我不太确定你要我们在这里写什么,但你可以简单地设置一个布尔值:
var cursorInPage = false;
$(window).on('mouseout', function() {
cursorInPage = false;
});
$(window).on('mouseover', function() {
cursorInPage = true;
});
然后使用布尔值继续:
if (cursorInPage === true) {
alert('Woo, the cursor is inside the page!');
}
下面是一个JSFiddle示例,它在光标进入或离开窗口区域时改变主体背景颜色,在查看全屏结果时更好地显示。
只是测试了一下,希望能有所帮助。这里是它的jsFiddle。
$(document,window,'html').mouseleave(function(){alert('bye')}).mouseenter(function(){alert('welcome back!')})
您可以尝试:
$('body').mouseout(function() {
alert('Bazzinga...');
});
或
$(window).mouseleave(function() {
alert('Bazzinga...');
});
当鼠标在元素内
$('#outer').mouseover(function() {
$('#log').append('<div>Handler for .mouseover() called.</div>');
});
当鼠标离开元素
$('#outer').mouseleave(function() {
$('#log').append('<div>Handler for .mouseleave() called.</div>');
});
相关文章:
- 检查iframe内部的窗口是否已关闭
- 如何检查窗口是否已滚动到href,然后在javascript/jQuery中执行函数
- 检查窗口是否为弹出窗口的另一种方法
- 如何检测浏览器窗口是否已从另一个浏览器窗口打开
- 检查窗口是否已从非父窗口(chrome 扩展程序)打开
- 如何检测浏览器检查器窗口是否已打开
- 检查打开的浏览器窗口是否包含特定字符串
- 在使用 Jquery 打开弹出窗口之前,请检查弹出窗口是否已打开
- 窗口是否有打字稿定义
- 火狐扩展:检查窗口是否最小化
- 有没有办法找到浏览器弹出窗口是否使用 window.open 打开了参数“滚动条=是”
- 如何检查窗口是否仍在加载并已完成加载
- 子框架将打开一个弹出窗口.如何检查该弹出窗口是否从父级打开
- Javascript 警报弹出窗口是否扩展了 PHP 会话
- 检查弹出窗口是否已重定向回 JavaScript 中的打开程序的域/端口/协议
- 火狐附加组件:如何判断窗口是否在后台
- 在窗口中使用“事件处理程序”是否是确定窗口是否支持给定事件处理程序的安全方法
- 如何检查硒打开的窗口是否已被用户关闭
- 在 Web 应用程序中对分离的面板使用实际的浏览器窗口是否可行
- 如何确定 google auth2.signIn() 窗口是否被用户关闭