繁体   English   中英

在Safari / Chrome中,如何在ready()和focus()上触发功能A,在blur()上触发功能B?

[英]In Safari/Chrome, how can I trigger a function A on both ready() and focus() and a function B on blur()?

我有一个计数器,当窗口处于焦点时倒计时,当窗口处于模糊状态时停止计数。

我的代码与Firefox和IE完美配合,因为使用FF或IE时,在加载文档时会触发focus()事件。

但在Safari / Chrome中并非如此。

有没有人知道如何在加载Safari / Chrome时触发countDown()函数? 非常感谢

我的代码有这样的结构:

$(document).ready(function(){    
         $(window).focus(function(){
              countDown();      
          });

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

});

你怎么样countDowncountDown 您可能必须先检查窗口是否仍然具有焦点。 而且你应该确保countDown没有被调用 - 或者使countDown“抵抗”额外的调用。

或者另一种方法,那就是让代码更清晰一点就是从$(document).ready调用$(document).focus()

更多背景:

$(document).ready(function(){
    $(window).focus(function(){
        countDown();      
    }).blur(function(){
        stopCount();      
    }).focus();
});

你可以尝试这样的事情:

if ( $.browser.webkit ) {
   countDown();
}

我想这会检查它是否是一个webkit浏览器,然后触发countDown()事件

暂无
暂无

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

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