Я использую jQuery Mobile. И, честно говоря, моя голова прячется прямо сейчас.мое событие не срабатывает на следующей странице
У меня есть этот код:
//this event happens in my index.php/page1
//this works
$(document).delegate('.front-page-down','swipedown', function (event) {
$.mobile.changePage('#notification', { transition: "slidedown"});
});
$(document).delegate('.swipeup','swipeup', function (event) {
$.mobile.changePage('#front-page', { transition: "slideup"});
});
//this event happens in my next page/page2
//doesn't work, I have to manually refresh the page first
$(document).delegate('.sns-down','swipedown', function (event) {
$.mobile.changePage('#featured', { transition: "slidedown"});
});
$(document).delegate('.featured-up','swipeup', function (event) {
$.mobile.changePage('#sns-page', { transition: "slideup"});
});
Первый 2 (класс на первой странице вниз & swipeup) работает, потому что срабатывает в моей index.php или при первой загрузке моей страницы, но 3-го кода (класс sns-down & featured-up) не будет, мне придется вручную обновить страницу, чтобы она работала. Теперь почему это так реагирует?
Пожалуйста, помогите всем.
Переданы ли функции, переданные делегату вообще? Вы добавили 'console.log' или что-то, чтобы это доказать? Из консоли браузера, что возвращает '$ (". Sns-down ") после загрузки первой, второй, третьей и т. Д.? –
не может использовать console.log coz. Я тестирую его в своем мобильном браузере. Я могу использовать только alert(). Первые два запускают предупреждение(). Но когда я перехожу на следующую страницу и запускаю 3-го и 4-го делегатов, она не срабатывает. T_T –
Можете ли вы протестировать на настольном Chrome? Если нет, то может быть хорошей идеей убедиться, что ваше приложение работает как на мобильном, так и на рабочем столе для тестирования. –