モバイルSafariでは、リンク/ボタンがクリックされてからイベントが発生するまでのクリックイベントで300ミリ秒の遅延があることを読みました。遅延の理由は、ユーザーがダブルクリックするつもりかどうかを確認するために待機することですが、UXの観点からは、300ms待機することは望ましくありません。
この300ミリ秒の遅延を解消する1つの解決策は、jQuery Mobileの「タップ」処理を使用することです。残念ながら、私はこのフレームワークに精通しておらず、必要なものが1行または2行のコードを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();
});
それは悪い/良い考えですか?