3
我有使用ionframework和cordova完成的应用程序。在我的应用程序中,我有要求,如果用户按下按钮,然后我需要忽略它。但只有在用户第三次按下它时才会关闭应用程序。科尔多瓦backbutton preventDefault不起作用
以前的项目是使用phonegap和jquery完成的,代码工作相同。我做了一个小的解决方法,当我抛出一个异常,然后它不应该关闭它的应用程序。
document.addEventListener("backbutton", function (e) {
if (new Date() - firstDateClick > 1000) {
firstDateClick = new Date();
totalClicks = 1;
} else {
totalClicks++;
if (totalClicks >= 3) {
var answer = confirm('Are You Sure You Want Exit');
if (answer) {
var service = angular.injector(['ng', 'starter.services']).get('DanceService');
service.logEvent("exit")
.then(function() {
alert('exit1')
if (navigator.app) {
navigator.app.exitApp();
}
else if (navigator.device) {
navigator.device.exitApp();
}
})
} else {
totalClicks = 1;
}
}
}
throw "ignore"
});
但我不喜欢主意抛出异常。
我不知道你在哪里使用@jcesar我只张贴的preventDefault – jcesarmobile
解决方法... –
无论如何,如果你听backbutton事件并创建一个函数不管理它,你不必防止任何事情。尝试添加第三个参数给函数。 document.addEventListener(“backbutton”,yourCallbackFunction,false); – jcesarmobile