当用户在浏览器中打开另一个标签时,我希望我的html5画布游戏自动暂停。用户执行此操作时触发的事件的名称是什么?
答案 0 :(得分:2)
$(window).blur( function() {
});
或在js:
window.onblur = function() {
}
没有“新标签已打开”事件。但暂停模糊事件会做你想要的 - 当窗口失去焦点时,游戏会暂停。然后,您可以在焦点事件中恢复游戏。
答案 1 :(得分:0)
作为另一个答案中建议的模糊事件的替代方法,您可以使用HTML5的新window.hidden
属性。
阅读此内容的好地方是:
今天使用此规范的最大问题是您必须满足供应商前缀才能在所有浏览器中处理它。但是如果你忽略了它真的归结为:
if (!window.hidden) {
// do whatever you normally do to render a frame
}
如果您希望将检测结果从游戏循环中移除,则会发生相应的visibilitychange
事件。