繁体   English   中英

JQuery 焦点/模糊和非 Jquery 焦点/模糊在 IE 11 (Internet Explorer 11) 上不起作用

[英]JQuery Focus/Blur and non Jquery Focus/blur doesn't work on IE 11 (Internet explorer 11)

我想检测我的浏览器窗口是否有焦点(被选中)。 我使用以下代码来做到这一点:

$(window).focus(function() { 
    window.focusFlag = true; 
}).blur(function() { 
    window.focusFlag = false; 
});

来源: 使用 JQuery 绑定“窗口”的“焦点”和“模糊”功能,在 IE 中不起作用

它适用于 mozilla firefox 43.0.4,但不适用于 IE 11。

我还尝试了不涉及 JQuery 的 focus/blur 方法。

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。

来源: http : //www.thefutureoftheweb.com/blog/detect-browser-window-focus

我可以对 IE 11 做些什么?

该标准定义了focus

此事件类型类似于focusin,但在焦点转移后调度,不会冒泡。 https://www.w3.org/TR/uievents/#events-focusevent

因此, focusin将适用于 jQuery 中的父级。

<input type="text" />

$(window).focusin(function() { alert("Focussed"); }).focusout(function() { alert("Blur"); });

在 JSFiddle 中尝试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM