还有jQuerys“模糊”和“聚焦”功能的替代方案吗?

时间:2012-05-14 10:06:38

标签: javascript jquery focus onblur onfocus

我的网站上有一个计数器,我想在我的网站没有聚焦时暂停。如果我使用模糊(有人离开焦点)并且有人点击在新标签页中打开的链接然后关闭标签页,焦点不会回到上一页?为什么它不起作用?有没有更好的方法呢?

$(document).blur(function(){
    pause=true;
});

$(document).focus(function(){
    //alert("test");
    pause=false;

    countdown(tmp,msg);
});

3 个答案:

答案 0 :(得分:4)

我认为它不是document,而是window

$(window).focus(function(){...});
$(window).blur(function(){...});

我经常遇到的是本机JS版本window.onfocuswindow.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();
});