Javascript 如何检查窗口是否有焦点?
我正在尝试做类似的事情Javascript 如何检查窗口是否有焦点?,javascript,focus,Javascript,Focus,我正在尝试做类似的事情 if (window.onblur) { setTimeout(function () { DTitChange(name) }, 1000) } else { document.title = dtit } 不过window.onblur似乎不起作用,有什么可以替换的吗?您应该为window.onblur分配一个函数,在您的问题中,您只测试属性onblur是否存在。但是window.onblur并不总是在每个浏览器中都能正常工作
if (window.onblur) {
setTimeout(function () {
DTitChange(name)
}, 1000)
} else {
document.title = dtit
}
不过window.onblur似乎不起作用,有什么可以替换的吗?您应该为
window.onblur
分配一个函数,在您的问题中,您只测试属性onblur
是否存在。但是window.onblur
并不总是在每个浏览器中都能正常工作。本文将介绍如何设置此选项。在您的情况下,它将类似于:
function DTitBlur() {
/* change title of page to ‘name’ */
setTimeout(function () {
DTitChange(name)
}, 1000);
}
function DTitFocus() {
/* set title of page to previous value */
}
if (/*@cc_on!@*/false) { // check for Internet Explorer
document.onfocusin = DTitFocus;
document.onfocusout = DTitBlur;
} else {
window.onfocus = DTitFocus;
window.onblur = DTitBlur;
}
你说似乎不起作用是什么意思?以下是您目前所说的:
If there's an onblur event handler:
execute DTitChange once ever second.
Else
document.title = dtit
这可能不是你想要的。试一试
window.onblur = function () {
setTimeout(function () { DTitChange(name) }, 1000);
};
另外,如果希望超时在用户返回时停止,请确保将onfocus处理程序设置为清除超时。:)