【发布时间】:2020-09-12 16:19:16
【问题描述】:
我有一个在 Xbox One 上运行的纯 JavaScript/React 捆绑 pwa/托管网络应用程序。 该应用程序有自己的自定义导航。 我想禁用 gamepadB 默认的 history.goBack() 行为。
根据
xbox one controller prevent default back button behavior with Javascript
这样的东西应该可以工作,但它没有:
navigator.gamepadInputEmulation = "keyboard";
if (typeof Windows !== "undefined") {
const systemNavManager = Windows.UI.Core.SystemNavigationManager.getForCurrentView();
if (systemNavManager) {
systemNavManager.addEventListener(
'backrequested',
event => {
event.handled = true;
},
false
);
}
}
在捕获/冒泡阶段设置 event.handled 没有任何作用。在调用此处理程序之前, event.handled 已设置为 true。 使用:
event.preventDefault()
会将应用程序作为标准 dom 功能崩溃,例如 不支持 preventDefault、stopPropagation 和 stopImmediatePropagation。
【问题讨论】:
标签: javascript uwp xbox