У меня есть функция в JS, которая синхронизирует информацию, а при загрузке данных у меня есть функция BlockUI js, поэтому пользователь не может касаться или делать что-либо до тех пор, пока все не будет выполнено.
Проблема в том, что если вы нажмете кнопку "Назад", я получаю сообщение "Ошибка приложения", и приложение закрывается, как я могу сделать, чтобы заблокировать кнопки, когда включена функция синхронизации?
Это то, что у меня есть
function addedCustomers(tx, data){
showMessage();
try{
$.each(data, function(i, item) {
tx.executeSql(query);
});
hideMessage();
}catch(err){
showAlert(err);
}
}
Функция showMessage() и hideMessage() будет блокировать и разблокировать пользовательский интерфейс
Вы можете использовать кнопки "События" для кнопок Android:
document.addEventListener("backbutton", yourCallbackFunction, false);
document.addEventListener("menubutton", yourCallbackFunction, false);
document.addEventListener("searchbutton", yourCallbackFunction, false);
Затем установите глобальную переменную, такую как:
var buttonsLocked = false;
В ваших методах обратного вызова событий кнопки вы можете добавить это первым:
if(buttonsLocked) {
return false;
}
Затем в ваших функциях, которые вы хотите заблокировать/разблокировать, просто установите для переменныхLocked значение true или false соответственно.