我想检测我的浏览器窗口是否有焦点(已选中)。我使用以下代码来执行此操作:
$(window).focus(function() {
window.focusFlag = true;
}).blur(function() {
window.focusFlag = false;
});
来源: Using JQuery to bind "focus" and "blur" functions for "window", doesn't work in IE
它适用于mozilla firefox 43.0.4,但它在IE 11上不起作用。
我还尝试了不涉及JQuery的焦点/模糊方法。
function onBlur() {
document.body.className = 'blurred';
};
function onFocus(){
document.body.className = 'focused';
};
if (/*@cc_on!@*/false) { // check for Internet Explorer
document.onfocusin = onFocus;
document.onfocusout = onBlur;
} else {
window.onfocus = onFocus;
window.onblur = onBlur;
}
它也适用于mozilla firefox 43.0.4,但它在IE 11上不起作用。
Srource: http://www.thefutureoftheweb.com/blog/detect-browser-window-focus
我该怎么办IE 11?
答案 0 :(得分:1)
标准定义为focus
:
此事件类型与focusin类似,但在焦点移动后调度,并且不会冒泡。 https://www.w3.org/TR/uievents/#events-focusevent
因此,focusin
将适用于jQuery中的父母。
<input type="text" />
$(window).focusin(function() {
alert("Focussed");
}).focusout(function() {
alert("Blur");
});