我需要更改我的 phonegap 项目的后退按钮功能,我已经成功地做到了,没有任何问题。现在唯一的问题是,我需要根据用户是否选择了某个字段来进一步更改功能。
基本上,如果用户单击了 id 为“date-selector1”的字段,我需要完全禁用后退按钮。
我试图使用document.activeElement,但它只返回元素的类型(在这种情况下为输入),但我仍然希望功能在它们处于一般输入中时工作,但在它们处于输入时不工作一个特定的 ID。
编辑 我尝试了下面的所有建议,并最终得到了以下代码,但仍然没有成功。
function pluginDeviceReady() {
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
var sElement = document.activeElement;
var isBadElement = false;
var eList = ['procedure-date', 'immunization-date', 'lab-test-done', 'condition-onset', 'condition-resolution', 'medication-start-date', 'medication-stop-date', 'reaction-date'];
console.log("[[ACTIVE ELEMENT: --> " + document.activeElement + "]]");
for (var i = 0;i < eList.length - 1;i++) {
if (sElement == $(eList[i])[0]) {
isBadElement = true;
}
}
if (isBadElement) {
console.log('Back button not allowed here');
} else if ($.mobile.activePage.is('#main') || $.mobile.activePage.is('#family') || $.mobile.activePage.is('#login')) {
navigator.app.exitApp();
} else {
navigator.app.backHistory();
}
}