ฉันได้อ่านพบว่าSafari บนอุปกรณ์เคลื่อนที่มีความล่าช้า 300 มิลลิวินาทีในเหตุการณ์การคลิกตั้งแต่เวลาที่คลิกลิงก์ / ปุ่มจนถึงเวลาที่เหตุการณ์เริ่ม สาเหตุของความล่าช้าคือการรอเพื่อดูว่าผู้ใช้ตั้งใจจะดับเบิลคลิกหรือไม่ แต่จากมุมมองของ UX การรอ 300ms มักไม่เป็นที่พึงปรารถนา
ทางออกหนึ่งในการขจัดความล่าช้า 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
});
และสิ่งที่ฉันต้องการจะทำคือการกำจัด 300ms ล่าช้าในทุกกิจกรรมการคลิกที่ใช้โค้ดเดียวเช่นนี้
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
นั่นเป็นความคิดที่ไม่ดี / ดีหรือไม่?