Était-ce utile?

La solution

Les événements tactiles ne sont pas actuellement pris en charge par Événements / direct .

De la documentation:

  

valeurs d'événement possible: cliquez,   dblclick, mousedown, mouseup,   mousemove, mouseover, mouseout,   keydown, keypress, keyup

     

pas pris en charge: flou, mise au point,   mouseenter, mouseleave, changement, soumettre

Vous voudrez peut-être envisager d'essayer d'utiliser cliquez si cela correspond à vos besoins, ou vous pouvez passer à l'aide de livequery, qui sera probablement le soutenir. (Livequery est ce qui a été à l'origine basé sur, je vis ne sais pas pourquoi il ne supporte pas tous les mêmes événements)

Autres conseils

En fait, vous pouvez utiliser la méthode .live. Vous n'avez pas la propriété event.touches en raison de la façon dont les événements gère jQuery en interne. Pour les événements « corriger », clones jQuery l'événement. Ce faisant, il ne copie que sur un nombre limité de propriétés pour des raisons de performance. Cependant, vous pouvez toujours accéder à l'objet d'événement d'origine via la propriété event.originalEvent.

Ainsi, votre exemple de code devrait ressembler à ce qui suit:

$('a').live('touchend', function(event) {
  event.preventDefault();
  console.log(event.originalEvent.touches.length);
});

Voici les propriétés qui sont copiés: http: / /github.com/jquery/jquery/blob/master/src/event.js#L411

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top