【问题标题】:backbutton event not firing in cordova windows phone app在科尔多瓦 Windows 手机应用程序中未触发后退按钮事件
【发布时间】:2016-01-13 16:15:44
【问题描述】:

我正在尝试测试我的 cordova 应用程序,该应用程序是使用 Intel XDK for windows phone 构建的。

我正在 windows phone 8.1 模拟器中测试应用程序,后退按钮事件未触发,而是退出应用程序。

我尝试了一些我从互联网上阅读的建议,以使用 winjs 捕获也不起作用的 backclick 事件。

请帮我解决这个问题。

捕获后退按钮的代码:

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;

};

【问题讨论】:

    标签: cordova windows-phone-8.1


    【解决方案1】:

    在 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 */
    }
    

    【讨论】:

    • 嗨 Tobiah,我已经尝试过了,但它不起作用。还有什么我想念的吗
    • @SamDeepak 当您按下返回按钮时会发生什么?它会退出应用程序,还是没有发生您预期的行为?你能把你的代码贴出来让我们看看有什么问题吗?
    • 嗨 Tobiah,我在英特尔论坛上发布了我曾经问过问题的地方,根据他们的说法,他们提到了 windows phone 8.x 和 cordova 之间的兼容性修复。你可以在这里阅读:software.intel.com/en-us/forums/intel-xdk/topic/606709。现在它起作用了。感谢您的提醒。
    猜你喜欢
    • 2017-03-10
    • 1970-01-01
    • 2017-06-30
    • 2016-06-16
    • 2015-04-30
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多