В JQM pagehow работает, pagebeforeshow не работает
Привет, у меня есть некоторые JQuery Mobile и pageshow
работает нормально (с ошибками, но работает нормально) примерно так:
$(document).off('pageshow').on('pageshow', function () {
console.log('it happened');
});
NB: у меня были многочисленные (READ: потерянные недели) проблемы с кешированием, поэтому я боюсь, несмотря на всю информацию наоборот off()
должен остаться. Вы будете спорить со мной, я буду держать off()
и я буду прав.
хорошо, но когда я изменяю это
$(document).off('pagebeforeshow').on('pagebeforeshow', function () {
console.log('it happened');
});
это не работает. Теперь я знаю, что вы должны делать что-то вроде
$(document).off('pagebeforeshow').on('pagebeforeshow', '#somediv', function () {
console.log('it happened');
});
но я не хочу, чтобы это было только на том div, я хочу, чтобы это было на всем документе.
1 ответ
Вы можете проверить, когда вы покидаете определенную страницу, как это (работает в моем случае):
-> Запустить функцию цикла ( setInterval), которая проверяет каждые 2 секунды, если вы все еще находитесь на этой странице, и если нет (это означает, что вы только что покинули страницу), выполняется только один раз, когда функция
Вот код:
<script>$('#YOUR_PAGE').bind('pageshow', function(data) {
var repeat = setInterval(function() {
var page_path = $.mobile.path.parseUrl(window.location).toString().toLowerCase() ;
var page_page = page_path.split("#");
if ( page_page[1] != "YOUR_PAGE"){
...
DO YOUR THING
...
clearInterval(repeat);
}
}, 2000);
});
</script>