У меня есть приложение html5 / jquery / cordova для Android, и мне нужно управлять кнопкой Android.Приложение содержит 3 html-файла, каждый из которых содержит 3 div с data-role = 'page':
- index.html (# index01, # index02, # index03)
- автомобилей.html (# cars01, # cars02, # cars03)
- towns.html (# towns01, # towns02, # towns03)
Меню перемещается между 3 файлами, каждая страница имееткнопка для перехода на следующую страницу.
Для управления поведением кнопки Android каждый из этих файлов содержит обработчик событий: document.addEventListener("backbutton", onBackKeyDown, false);
Мой scripts.js
файл содержит function onBackKeyDown() {...}
где указано желаемое поведение.На данный момент у меня нет проблем с содержанием этой функции.
(к вашему сведению: когда я нажимаю кнопку с номера #index01
, я хочу выйти из приложения, когда я нажимаю кнопку с номера #cars01
или#cities01
Я хочу перейти к #index01
, и когда я нахожусь на одной из других страниц, я хочу перейти на «предыдущую» страницу. Но: Мой вопрос не об этой навигации!)
Проблема, с которой я делаю , заключается в том, что onBackKeyDown
срабатывает только тогда, когда я нахожусь на index.html.Всякий раз, когда я перехожу к cars.html или towns.html, оттуда на одну из подстраниц, а затем нажимаю кнопку Android, моя функция onBackKeyDown
никогда не вызывается.Я проверил это, поставив alert("backbutton pressed");
в качестве первой строки в функции.Это предупреждение отображается только в index.html, а не в двух других файлах.
Поэтому мой вопрос к вам: кто-нибудь знает, почему это не работает?Или, что еще лучше, кто-нибудь может предложить решение?Я боролся уже несколько недель.