如何在打开navigator.notification.confirm时检测后退按钮事件?后退按钮只是关闭弹出窗口,但是事件document.addEventListener('backbutton',onBackKeyDown,false);没有提出。
答案 0 :(得分:0)
在您传递到success
API的navigator.notification.confirm
回调中,您可以获取点击了哪个按钮的buttonIndex。它没有记录,但如果buttonIndex = 0,则用户在对话框外单击以关闭它或单击“后退”按钮。
例如:
function makeConfirm(){
navigator.notification.confirm(
'You are the winner!', // message
onConfirm, // callback to invoke with index of button pressed
'Game Over', // title
'Restart,Exit' // buttonLabels
);
}
function onConfirm(buttonIndex){
console.log("confirmation! Button clicked was:" + buttonIndex);
if( buttonIndex===0 ){
// they either hit back button or tapped the area outside of the dialog
}
}
我不确定是否有办法确定他们是否点击了实际的硬件后退按钮,或者只是单击了对话框。你可以在页面正文上注册一个click事件,看看是否会被触发,如果是,buttonIndex===0
,那么他们会在对话框外点击。如果buttonIndex===0
但没有被解雇,他们会点击硬件后退按钮。
我还阅读了有关使用JQM检测后退按钮是否被按下的StackOverflow的其他问题;也许你可以使用这个。