У меня jQuery Mobile на iPad Safari, и по какой-то причине события касания пальцем запускаются дважды.
Люди сообщали о той же проблеме за последний год, что и на прошлой неделе, но я не могу найти объяснение того, как исправить двойное событие без изменения jQuery Mobile, и я не хочу этого делать. Тема на форумах jQuery
Все следующие привязки элементов для обработчика прокрутки имеют одинаковый неверный результат двойного события, когда предупреждение вызывается дважды для каждого пролистывания.
Как следует связывать события касания jQuery Mobile, чтобы избежать двойных пузырей?
// Test 1: Binding directly to document with delegate()
$(document).delegate(document, 'swipeleft swiperight', function (event) {
alert('You just ' + event.type + 'ed!');
});
// Test 2: Binding to document with on() handler recommended as of 1.7 with and without preventDefault
$(document).on('swipeleft',function(event, data){
event.preventDefault();
alert('You just ' + event.type + 'ed!');
});
// Test 3: Binding to body with on() with and without event.stopPropagation
$('body').on('swipeleft',function(event, data){
event.stopPropagation();
alert('You just ' + event.type + 'ed!');
});
// Test 4: Binding to div by class
$('.container').on('swipeleft',function(event, data){
event.stopPropagation();
alert('You just ' + event.type + 'ed!');
});