Abbrechen touchend wenn touchmove feuert

Ich bin etwas zu bauen, die hauptsächlich für den Einsatz auf tablets, wo kann der Benutzer Tippen Sie auf ein Element auf dem Bildschirm und eine Klasse angewendet. Dies ist, was ich habe, so weit:

Probleme:

  1. Möchte ich den Einsatz von touch-events zu löschen, die Klasse, und fügen Sie die Klasse auf touch-end (um es schneller zu machen).
  2. Ich will es nicht, etwas zu tun, wenn der Benutzer Eingaben (touchmoves).

Ich habe versucht eine Reihe von Dingen, von denen keines gearbeitet haben. Die einfachste habe ich (erfolglos) versuchte, ist dieses:

var dragging = false;

$(".items").on("touchmove", function(){
      dragging = true;
});

$('.items').on("click touchend", function(event){
    if (dragging = true){
    }
    else{
    $('.items').removeClass('selected');
    $(this).addClass('selected');
    }
});
  • if (dragging = true) sollte nur if (dragging) oder besser noch if (!dragging) dann bewegen Sie alles, was in der else-Anweisung in der if-Anweisung (daher, Sie haben keine andere).
  • Sobald Sie touchmove einmal, Sie setzen dragging = true dies wird nicht zulassen, dass andere Klicks pro code. Sie muss zurücksetzen dragging = false nach der Veranstaltung beendet.
InformationsquelleAutor EmmaGamma | 2013-04-25
Schreibe einen Kommentar