【发布时间】:2009-10-03 23:10:36
【问题描述】:
只有当窗口在后台时,我的页面才会发出通知声音。我可以跟踪window.onfocus 和window.onblur 事件以注意焦点状态何时发生变化。但是,我不知道窗口是否会加载焦点,因为它可能会加载到背景选项卡中,例如。
在收到onfocus/onblur 事件之前如何决定是否播放声音?
【问题讨论】:
标签: javascript
只有当窗口在后台时,我的页面才会发出通知声音。我可以跟踪window.onfocus 和window.onblur 事件以注意焦点状态何时发生变化。但是,我不知道窗口是否会加载焦点,因为它可能会加载到背景选项卡中,例如。
在收到onfocus/onblur 事件之前如何决定是否播放声音?
【问题讨论】:
标签: javascript
难道你不能假设它加载模糊,然后在收到任何类型的事件(keydown/mousemove)后立即将状态更改为集中?
【讨论】:
mousemove 被触发,即使您在模糊的窗口上移动鼠标,请改用mousedown。在这里试试:quirksmode.org/dom/events/tests/mousemove.html
onfocus 事件应该在页面最初打开(在前台)时触发。至少它在 FF3/IE8 中。
因此您可以在最初打开声音,在触发 onfocus 时将其关闭,然后在触发 onblur 时将其重新打开。
【讨论】: