Не используйте $ (document) .bind, используйте новое делегирование on
, это помещает слушателя в корень вашего документа, который прослушивает события pageinit / pageshow, которые всплывают, когда новые страницы добавляются jQM.
$(document).on('pageinit', 'div:jqmData(role="page"), div:jqmData(role="dialog")', function(event){
$(this).find('.sns-down').bind('swipe', function(event) {
$.mobile.changePage('#featured', { transition: "slidedown"});
});
Не используйте прямую $('.sns-down')
, этот селектор может непреднамеренно выбирать элементы не на вашей текущей странице, вы всегда должны искать с текущей страницы.
Следующее, что нужно проверить, это если #featured
существует, если вы включили его на своей первой странице, то оно будет там.Если ваша вторая страница представляет собой многостраничный шаблон и вы ссылаетесь на него, jQM извлекает только одну страницу из вашего многостраничного шаблона.Просто попробуйте настоящую страницу, чтобы устранить эту проблему.
Используйте отладчик / предупреждение, чтобы гарантировать, что pageinit правильно перехватывается при переходе страницы, чтобы исключить это, но это должно работать.