javascript - 在Safari/Chrome中,如何在ready()和focus()上触发函数A,在blur()上触发函数B?

标签 javascript jquery html

我有一个计数器,当窗口聚焦时进行倒计时,当窗口模糊时停止计数。

我的代码可以在 Firefox 和 IE 上完美运行,因为使用 FF 或 IE,focus() 事件会在加载文档时触发。

但在 Safari/Chrome 中却并非如此。

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

我的代码具有以下结构:

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

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

});

最佳答案

你也从ready中调用countDown怎么样?不过,您可能必须先检查窗口是否仍然具有焦点。并且您应该确保 countDown 尚未被调用 - 或者使 countDown “抵抗”额外的调用。

或者另一种方式,应该使代码更简洁,只需从 $(document).ready 调用 $(document).focus()

更多背景:

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

关于javascript - 在Safari/Chrome中,如何在ready()和focus()上触发函数A,在blur()上触发函数B?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10336349/

相关文章:

javascript - 使用 Jasmine 2 测试异步 DOM/CSS 更改——从 waitsFor 迁移到 done()

javascript - Google Apps 脚本 - 将 UrlFetch 响应转换为数组

javascript - JQuery - 模态对话框似乎禁用了它的表单字段

javascript - Jquery在php处理时显示消息

html - 如何避免居中背景图像的视口(viewport)崩溃?

javascript - QueryDocumentSnapshot 似乎缺少其父类的方法

javascript - {} 和对象有什么区别?

javascript - 如何在 JS Bin 中加载 jQuery

php - Textarea 破坏了 MySQL 更新查询

Javascript do while 循环不停止