Wie um zu verhindern, streichen Sie auf Auslöser klicken?
Benutze ich TouchSwipe erstellen Sie eine swipeable Bild-Liste. Ich Binde die swipe event zu den Bildern, während ich binden auch ein click-Ereignis öffnet sich das Bild die große version.
Mein problem ist, dass wenn ich streichen, es auch löst das click-Ereignis. Ich habe versucht, Tippen statt wischen aber ich kann nicht damit es funktioniert. Danach habe ich versucht event.preventDefault()
und event.stopPropagation()
wurde vorgeschlagen, in einer Menge Platz, aber es gab keine Wirkung. Meine Letzte Lösung versuchen war die Bindung die click-Ereignis und binden es nach der Veranstaltung, aber wenn ich binden Sie das Ereignis in den sehr Ende der Veranstaltung die Funktion, es feuert wieder auf.
$(".js-header-swipe-image").swipe({
swipe:function(event, direction, distance, duration, fingerCount){
$("#details").unbind('click');//Temporary unbind, otherwise the swipe's click would trigger the gallery opening.
//Handling swipe direction.
$('#details').on('click', '.js-header-swipe-image', function (){//Rebind the temporary unbinded event.
console.log('click');
$('#modal-gallery').modal('show');
});
}
});
Gibt es eine Möglichkeit zum Abbruch einer Veranstaltung selbst, oder eine Funktion aufrufen, nachdem die Veranstaltung beendet, so kann ich erneut binden, die auf nach dem streichen fertig, so dass Sie nicht auslösen rebinded klicken Sie auf? Ich bin auch offen für jede andere Lösung für das problem.
- Haben Sie keine Lösung gefunden?
- Nein, aber fand heraus, dass in der mobilen Plattformen ist es anders implementiert, so dass dieses problem nicht existiert. Noch ein problem auf dem PC.
- Ich fixe mir war es mit revolution Schieberegler, swipe, insted, die ich umbenannt in $.fn.streichen Sie auf $.fn.swipeing und genannt .swipeing({}), überprüfen Sie, ob das hilft Euch. Haben Sie vielleicht andere plugins, überschreiben streichen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich dieses bit des Codes, so dass die Schalter nur noch ausgelöst (auf touchend -) wenn nicht wird geklaut auf:
Basierend auf dem link, den Sie an den Wasserhahn vs Streichen
Versucht haben Sie den code unten ? :
Edit : Funktioniert Lösung
HTML :
jQuery :
Beim "Durchziehen" der div-ich erhalte die Warnung
swipe
und beim Klick auf das div habe ich die Benachrichtigung erhaltentap
.Hatte ich das gleiche problem. Die tap-Funktion nicht aufgerufen werden, da hatte ich
threshold:0
. Sobald ich bemerkte, dass sich die tap-Ereignis hat Prima funktioniert.