Saya telah membaca bahwa Safari seluler memiliki penundaan 300ms pada peristiwa klik sejak tautan / tombol diklik hingga saat peristiwa tersebut diaktifkan. Alasan penundaan adalah menunggu untuk melihat apakah pengguna bermaksud untuk melakukan klik dua kali, tetapi dari perspektif UX menunggu 300ms seringkali tidak diinginkan.
Salah satu solusi untuk menghilangkan penundaan 300ms ini adalah dengan menggunakan penanganan "tap" jQuery Mobile. Sayangnya saya tidak terbiasa dengan kerangka kerja ini dan tidak ingin memuat kerangka kerja besar jika yang saya butuhkan hanyalah satu atau dua baris kode yang diterapkan touchend
dengan cara yang benar.
Seperti banyak situs, situs saya memiliki banyak peristiwa klik seperti ini:
$("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
});
dan yang ingin saya lakukan adalah menghilangkan penundaan 300 md pada SEMUA peristiwa klik tersebut menggunakan satu cuplikan kode seperti ini:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Apakah itu ide yang buruk / bagus?