Arrêter de jQuery Mobile de balayage d'événement de double bouillonnant

J'ai jQuery Mobile sur iPad Safari et pour une raison quelconque touche de balayage événements sont à tirer à deux reprises.

Personnes ont signalé le même problème au cours de la dernière année, comme l'a récemment cette semaine, mais je ne peux pas trouver une explication sur la manière de résoudre le double événement sans modification de jQuery Mobile et je ne veux pas le faire. Fil sur jQuery forums

La forme suivante de l'élément de fixation pour le balayage de gestionnaire ont tous le même incorrect double-événement de résultat où l'alerte est appelé deux fois pour chaque balayage.

Comment doit-jQuery Mobile tactile être liés afin d'éviter le double bouillonnement?

//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!');
});

OriginalL'auteur Dylan Valade | 2012-03-19

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *