Остановить двойную всплывающую подсказку jQuery Mobile при пролистывании

У меня есть 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!');
});

7
задан Dylan Valade 4 December 2015 в 20:06
поделиться