Я читав, що мобільне Safari затримує 300 мс на події кліків з моменту натискання посилання / кнопки до моменту запуску події. Причиною затримки є зачекати, щоб побачити, чи має намір користувач двічі клацнути, але з точки зору UX очікування 300 мс часто небажано.
Одним із рішень для усунення цієї затримки 300 мс є використання обробки jQuery Mobile «краном». На жаль, я не знайомий з цим фреймворком і не хочу завантажувати якийсь великий фреймворк, якщо все, що мені потрібно, це рядок-два коду, який застосовується touchend
правильно.
Як і на багатьох сайтах, на моєму сайті є багато таких подій, як:
$("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
});
і що я хотів би зробити, це позбутися затримки 300 мс на ВСІ ці події кліків, використовуючи один фрагмент коду, як це:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Це погана / хороша ідея?