繁体   English   中英

在Cordova Android应用程序上使用后退按钮关闭模式窗口

[英]Close Modal Window with back button on Cordova Android app

我正在使用用于HTML和CSS的Bootstrap 3构建Cordova Web应用程序。 我仅使用一个index.html文件,并且在其中使用Modal窗口进行特定操作。

从对该应用程序的一些初始测试来看,模态窗口显示时最自然的事情是使用手机上的后退按钮将其关闭。 但是,当他们按此按钮时,它将关闭应用程序。

我已经尝试过以一种基本方式处理后退按钮事件,但是无论是在模拟器上还是在我的开发手机上,它似乎都无法正常工作(如果有区别,华为Y300)。 这是下面的代码:

// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
    app.receivedEvent('deviceready');

    // Cordova is loaded and it is now safe to call Cordova methods
    //
    function onDeviceReady() {
        // Register the event listener
        document.addEventListener("backbutton", onBackKeyDown, false);
    }

    // Handle the back button
    //
    function onBackKeyDown() {
        // whatever you want to do
        alert('Back button Pressed');
    }
},

我相当确定我知道该怎么做才能找出Modal窗口是否打开,因此我可以自己处理。 但是,试图控制后退按钮我做不到。

审查了代码后,我认为它在错误的位置。 因此,我在index.js文件中添加了以下内容:

document.addEventListener("backbutton", onBackKeyDown, false);

function onBackKeyDown(event) {
    event.preventDefault();

    if($("#myModal").hasClass('in')) {
        $("#myModal").modal('hide');
    } else if ($('body').hasClass('mme')){
        $('body').removeClass('mme');
    } else {
        navigator.app.exitApp();
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM