我的网站上有一个计数器,我想在我的网站没有聚焦时暂停。如果我使用模糊(有人离开焦点)并且有人点击在新标签页中打开的链接然后关闭标签页,焦点不会回到上一页?为什么它不起作用?有没有更好的方法呢?
$(document).blur(function(){
pause=true;
});
$(document).focus(function(){
//alert("test");
pause=false;
countdown(tmp,msg);
});
答案 0 :(得分:4)
我认为它不是document
,而是window
$(window).focus(function(){...});
$(window).blur(function(){...});
我经常遇到的是本机JS版本window.onfocus
和window.onblur
。我想这些也在jQuery中使用/抽象。
答案 1 :(得分:0)
基本上,在用户点击或标记页面之前,您无法获得焦点,这就是焦点的工作原理。下面的工作代码: -
$(function() {
$(window).focus(function() {
alert("in");
});
$(window).blur(function() {
alert("out");
});
});
您可以添加窗口鼠标进/出事件,但我不建议这样做,因为不支持触摸设备,使用多个屏幕的人会遇到问题。
您的问题更多的是软件而不是JS问题。在这种情况下,你受浏览器的支配,虽然你回到你想要的标签,你仍然处于模糊状态,直到你点击窗口本身。
答案 2 :(得分:0)
可以使用“点击”进行管理,并使用以下代码进行外部点击
$(document).click(function() {
//hide
});
$(document).keyup(function(e) {
//manage tab event
if (e.target.id == "idName") {
//show
} else {
//hide
}
});
$(#idName).bind('click', function(e) {
//show
e.stopPropagation();
});