jquery 用于退出特定页面应用程序的移动后退按钮
jquery mobile backbutton to quit App for specific Page
我环顾四周,似乎无法将后退按钮绑定到 Phonegap/JQM 中 Android phone 的特定页面。
我试图只允许后退按钮触发 navigation.notification.confirm
以提示在 1 个特定页面注销。但它要么不提示它,要么在每一页都提示它。
以下不触发
$(document).on( 'pageinit','homepage',function onLoad(){
document.addEventListener('deviceready', deviceReady, false);
}
function deviceReady() {
document.addEventListener('backbutton', backButtonCallback, false);
}
function backButtonCallback() {
navigator.notification.confirm('Do you want to exit the app? If not, use the top left button to go to Previous Page',confirmCallback);
}
function confirmCallback(buttonIndex) {
if(buttonIndex == 1) {
navigator.app.exitApp();
return true;
}
else {
return false;
}
})
这也不会触发
function onLoad(){
document.addEventListener('deviceready', deviceReady, false);
}
function deviceReady() {
document.addEventListener('backbutton','#homepage' backButtonCallback, false);
}
function backButtonCallback() {
navigator.notification.confirm('Do you want to exit the app? If not, use the top left button to go to Previous Page',confirmCallback);
}
function confirmCallback(buttonIndex) {
if(buttonIndex == 1) {
navigator.app.exitApp();
return true;
}
else {
return false;
}
}
如果您正在使用 Jquery Mobile 1.4.5 getActivePage() 会很方便。 $.mobile.activePage 在 JQM 1.4.0 中被弃用(参见 http://blog.jquerymobile.com/ 自 1.4.0 beta #deprecation 以来的变化)。
//handle Back button
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton", onBackKeyDown, false);
console.log('Device ready - register onBackKeyDown()');
}
document.addEventListener("deviceready", onDeviceReady, false);
function onBackKeyDown() {
var active_page = $( ":mobile-pagecontainer" ).pagecontainer( "getActivePage" );
var id =active_page.page().attr('id');
if (id==='homepage') {
if (confirm('Do you want to exit the app? If not, use the top left button to go to Previous Page?')==true){
navigator.app.exitApp();
}
}
else{
navigator.app.backHistory();
}
}
//**
仅当 activePage id 为主页时,此代码才会退出应用程序。
告诉我代码是否适合您。
我环顾四周,似乎无法将后退按钮绑定到 Phonegap/JQM 中 Android phone 的特定页面。
我试图只允许后退按钮触发 navigation.notification.confirm
以提示在 1 个特定页面注销。但它要么不提示它,要么在每一页都提示它。
以下不触发
$(document).on( 'pageinit','homepage',function onLoad(){
document.addEventListener('deviceready', deviceReady, false);
}
function deviceReady() {
document.addEventListener('backbutton', backButtonCallback, false);
}
function backButtonCallback() {
navigator.notification.confirm('Do you want to exit the app? If not, use the top left button to go to Previous Page',confirmCallback);
}
function confirmCallback(buttonIndex) {
if(buttonIndex == 1) {
navigator.app.exitApp();
return true;
}
else {
return false;
}
})
这也不会触发
function onLoad(){
document.addEventListener('deviceready', deviceReady, false);
}
function deviceReady() {
document.addEventListener('backbutton','#homepage' backButtonCallback, false);
}
function backButtonCallback() {
navigator.notification.confirm('Do you want to exit the app? If not, use the top left button to go to Previous Page',confirmCallback);
}
function confirmCallback(buttonIndex) {
if(buttonIndex == 1) {
navigator.app.exitApp();
return true;
}
else {
return false;
}
}
如果您正在使用 Jquery Mobile 1.4.5 getActivePage() 会很方便。 $.mobile.activePage 在 JQM 1.4.0 中被弃用(参见 http://blog.jquerymobile.com/ 自 1.4.0 beta #deprecation 以来的变化)。
//handle Back button
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton", onBackKeyDown, false);
console.log('Device ready - register onBackKeyDown()');
}
document.addEventListener("deviceready", onDeviceReady, false);
function onBackKeyDown() {
var active_page = $( ":mobile-pagecontainer" ).pagecontainer( "getActivePage" );
var id =active_page.page().attr('id');
if (id==='homepage') {
if (confirm('Do you want to exit the app? If not, use the top left button to go to Previous Page?')==true){
navigator.app.exitApp();
}
}
else{
navigator.app.backHistory();
}
}
//**
仅当 activePage id 为主页时,此代码才会退出应用程序。
告诉我代码是否适合您。