当用户在浏览器中打开另一个选项卡时,我希望我的 html5 画布游戏自动暂停。用户执行此操作时触发的事件的名称是什么?
问问题
71 次
2 回答
2
$(window).blur( function() {
});
或者在js中:
window.onblur = function() {
}
没有“新标签打开”事件。但是在模糊事件上暂停会做你想做的事——只要窗口失去焦点,游戏就会暂停。然后您可以在焦点事件中恢复游戏。
于 2012-12-23T12:49:17.870 回答
0
作为另一个答案中建议的模糊事件的替代方法,您可以使用window.hidden
HTML5 的新属性。
阅读此内容的好地方是:
- https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API
- http://www.html5rocks.com/en/tutorials/pagevisibility/intro/
今天使用此规范的最大问题是您必须满足供应商前缀才能在所有浏览器中处理它。但是,如果您忽略这一点,它实际上归结为:
if (!window.hidden) {
// do whatever you normally do to render a frame
}
visibilitychange
如果您希望将检测排除在游戏循环之外,则有相应的事件。
于 2012-12-23T12:58:10.123 回答