我有一个xbox应用程序,该应用程序的webview包含一个javascript应用程序。在该应用程序中,我有这样的内容:
navigator.gamepadInputEmulation = 'gamepad';
window.addEventListener('onkeydown', function(event) {
if (event.keyCode === 196) {
event.stopImmediatePropagation();
// custom back button logic
}
});
自定义后退按钮逻辑运行,但是即使使用event.stopImmediatePropagation();,默认控制器后退按钮逻辑也运行。有什么解决办法吗?
如果我设置了navigator.gamepadInputEmulation = 'keyboard';
,此问题将消失,但是所有控制器输入事件都会运行两次。
答案 0 :(得分:0)
这是对您的快速修复,只需拦截“ backrequested”并将其设置为已处理:
var systemNavManager = Windows.UI.Core.SystemNavigationManager.getForCurrentView();
systemNavManager.addEventListener("backrequested", (event)=>event.handled = true, false);
希望有帮助!