Tôi đã đọc rằng Safari di động có độ trễ 300ms đối với các sự kiện nhấp chuột từ khi liên kết / nút được nhấp đến khi sự kiện kích hoạt. Lý do của sự chậm trễ là để chờ xem người dùng có ý định nhấp đúp hay không, nhưng từ góc độ UX, việc chờ đợi 300ms thường là không mong muốn.
Một giải pháp để loại bỏ độ trễ 300ms này là sử dụng xử lý "chạm" jQuery Mobile. Thật không may, tôi không quen thuộc với khuôn khổ này và không muốn tải một số khuôn khổ lớn nếu tất cả những gì tôi cần là một hoặc hai dòng mã áp dụng touchend
đúng cách.
Giống như nhiều trang khác, trang của tôi có nhiều sự kiện nhấp chuột như thế này:
$("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
});
và những gì tôi muốn làm là loại bỏ độ trễ 300ms đối với TẤT CẢ các sự kiện nhấp chuột đó bằng cách sử dụng một đoạn mã như sau:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Đó có phải là một ý tưởng tồi / tốt?