Ich habe gelesen, dass Mobile Safari eine Verzögerung von 300 ms für Klickereignisse vom Zeitpunkt des Klickens auf den Link / die Schaltfläche bis zum Zeitpunkt des Auslösens des Ereignisses hat. Der Grund für die Verzögerung besteht darin, abzuwarten, ob der Benutzer einen Doppelklick beabsichtigt. Aus UX-Sicht ist es jedoch häufig unerwünscht, 300 ms zu warten.
Eine Lösung , um diese Verzögerung von 300 ms zu vermeiden, ist die Verwendung der "Tap" -Handhabung von jQuery Mobile. Leider bin ich mit diesem Framework nicht vertraut und möchte kein großes Framework laden, wenn ich nur ein oder zwei Zeilen Code benötigetouchend
die richtig angewendet werden.
Wie viele Websites hat meine Website viele Klickereignisse wie das folgende:
$("button.submitBtn").on('click', function (e) {
$.ajaxSubmit({... //ajax form submisssion
});
$("a.ajax").on('click', function (e) {
$.ajax({... //ajax page loading
});
$("button.modal").on('click', function (e) {
//show/hide modal dialog
});
und was ich möchte, ist , tun die 300ms loszuwerden Verzögerung auf ALLE diese Klick - Ereignisse einen einzigen Code - Schnipsel wie folgt aus:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Ist das eine schlechte / gute Idee?