我正在为一个看似简单的任务寻找一个非JQuery解决方案:检测鼠标离开页面的时间。但是,标准方法使用:
document.onmouseleave
//or
document.onmouseout
仅在鼠标通过边缘离开页面时才起作用。
这意味着如果鼠标通过交叉进入另一个具有更高焦点的程序(例如:Notepad.exe),它将失败。
如果浏览器最小化(例如: Win + D ),或者 Alt + Tab ,它也将失败用来。
可能还有其他方法会失败。
还有哪些方法可以更有效地检测鼠标离开?也许甚至通过民意调查? 这必须适用于Chrome + Windows,但最理想的是任何现代浏览器。
更新:
dman2306已链接到一些用于检测浏览器何时最小化的方法,包括:
document.addEventListener("visibilitychange", function() {
doThings();
}, false);
我刚刚验证过适用于Windows 8.1的最新版Chrome。
只是通过另一个Window的边缘,或通过 Alt + Tab 离开光标的问题。
答案 0 :(得分:1)
有一个事件(<Control>formValues['message']).updateValue('')
可以满足您的需求。
onblur
答案 1 :(得分:0)
您可以为onfocusout事件添加另一个处理程序解决方案,该处理程序将检测另一个程序是否获得焦点或窗口是否已最小化。