首页 文章

backbutton事件没有在cordova windows手机应用程序中触发

提问于
浏览
0

我正在尝试测试我使用英特尔XDK为Windows手机构建的cordova应用程序 .

我正在测试Windows Phone 8.1模拟器中的应用程序,后退按钮事件未触发,而是退出应用程序 .

我尝试了一些我从互联网上读到的建议,使用winjs来捕获不起作用的后退事件 .

请帮我解决这个问题 .

捕获后退按钮的代码:

document.addEventListener('backbutton', function(){
 // Code to handle;
 e.preventDefault();
}, false);

使用WinJS:

window.WinJS.Application.onbackclick = function (e) {
 // Code to handle

 e.handled = true;
 return true;

};

1 回答

  • 0

    在WinJS中,确保在onDeviceReady函数中调用onbackclick函数 .

    试试这个示例代码:

    if (device.platform == "windows") {
        // Get the back button working in WP8.1
        WinJS.Application.onbackclick = function () {
            onBackKeyDown();
            return true; // This line is important, without it the app closes.
        }
    }
    else {
        document.addEventListener("backbutton", onBackKeyDown, false);
    }
    

    然后使用onBackKeyDown函数定义您想要在后退按钮上执行的操作 .

    function onBackKeyDown(eventArgs) {
       eventArgs.handled = true;
       /* Your behaviour/navigation */
    }
    

相关问题