Я настроил событие swipeleft в своем приложении для перемещения между полями формы. Все поля генерируются динамически, поэтому я не переключаюсь между страницами, я очищаю и заново генерирую все элементы DOM. Проблема заключается в том, что событие смахивания срабатывает только каждый раз, когда я пролистываю страницу или касаюсь или касаюсь чего-либо на странице.
Вот код, который устанавливает события:
$(document).delegate("#scorePage", "pageshow", function() {
$.event.special.swipe.scrollSupressionThreshold = 10;
$.event.special.swipe.horizontalDistanceThreshold = 30;
$.event.special.swipe.durationThreshold = 500;
$.event.special.swipe.verticalDistanceThreshold = 75;
$('#divFoo').on("swipeleft", swipeLeftHandler);
$('#divFoo').on("swiperight", swipeRightHandler);
tableCreate(traits[0].keyboardID);
});
Для контекста tableCreate помещает динамически сгенерированную таблицу в divFoo
, содержащую информацию, из которой пользователь может выбирать. Вот сам код события:
function swipeLeftHandler() {
$("#divFoo").empty();
traitIndex++;
tableCreate(traits[traitIndex].keyboardID);
}
Почему мое событие смахивания срабатывает только каждый раз, когда на странице происходит свайп?
В основном тестирую на Android прямо сейчас, если это имеет значение.
Изменить Я использую JQuery Mobile версии 1.4.4.
pageshow
, они будут дублироваться. - person Omar   schedule 17.10.2014deviceready
для присоединения этих обработчиков? - person ScoobyDrew18   schedule 17.10.2014mobileinit
событие и помещается в голову после jQuery.js и перед JQM.js - person Omar   schedule 18.10.2014