简而言之; 我写了一个简单的聊天应用的哥们和我用。 当运行应用程序不具有焦点(最小化或在其他窗口后面)和消息窗口进来,我想改变窗口标题栏作为警报。 酷似谷歌的聊天应用程序确实在Gmail中。
一切都完美的作品在Firefox和Chrome,但不是在IE7(没有测试8)。
这是我使用来确定窗口具有焦点的代码。 可以这样写不同在IE中还工作吗? 此外,我接受任何其他的方法来完成同样的事情。 提前谢谢了。
$(window).bind("blur", function() {
hasfocus = false;
});
$(window).bind("focus", function() {
hasfocus = true;
});
我不认为谷歌聊天使用窗口来检查的重点。 它使用的用户聊天,你的文本。 只要文本框获得焦点“说......”停止循环。
您可能要检查是否有鼠标移动,看看是否窗口具有焦点。 除此之外,我仍然试图找出如何努力保持页面时,现场检查窗口的焦点。
jQuery的的该位将在IE和一切美好的浏览器(铬,FF等)工作。 关键是的focusIn \事件的内容文档,IE浏览器的支持。
$(function(){
$(window).bind('blur', function(){
console.debug('window blur');
});
$(window).bind('focus', function(){
console.debug('window focus');
});
// IE EVENTS
$(document).bind('focusout', function(){
alert('document focusout');
});
$(document).bind('focusin', function(){
alert('document focusin');
});
});
文章来源: jQuery - window focus, blur events not triggering - works in Firefox and Chrome