J'ai lu que le navigateur Safari mobile a un 300ms retard sur les événements à partir du moment où le lien/bouton est cliqué pour le temps de l'événement est déclenché. La raison de ce retard est d'attendre de voir si l'utilisateur a double-clic, mais à partir d'un UX perspective d'attente 300ms est souvent indésirable.
Une solution pour éliminer ce 300ms retard est d'utiliser jQuery Mobile "sur" la manipulation. Malheureusement, je ne suis pas familier avec ce cadre et ne voulez pas charger certains gros cadre si j'ai besoin d'une ou deux lignes de code en appliquant touchend
dans le droit chemin.
Comme beaucoup de sites, mon site a beaucoup de cliquez sur événements comme ceci:
$("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
});
et ce que je voudrais faire est de se débarrasser de la 300ms retard sur TOUS ces événements de clic à l'aide d'un unique fragment de code comme ceci:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Est-ce une mauvaise/bonne idée?