Устранить задержку 300 мс на событиях кликов в мобильном Safari
Я прочитал это Мобильный Safari имеет задержку 300 мс на событиях кликов с момента нажатия ссылки / кнопки до момента возникновения события. Причиной задержки является ожидание, чтобы увидеть, намеревается ли пользователь дважды щелкнуть, но с точки зрения UX ожидание 300 мс часто нежелательно.
Одно решение чтобы устранить эту задержку в 300 мс, используйте jQuery Mobile & quot; нажмите & quot; обработки. К сожалению, я не знаком с этим фреймворком и не хочу загружать какой-то большой фреймворк, если все, что мне нужно, это строка из двух строк, применяющих код.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 мс наALL эти события кликов с использованием одного фрагмента кода, например:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Это плохая / хорошая идея?