我读到移动 Safari从点击链接/按钮到事件触发有 300 毫秒的点击事件延迟。延迟的原因是等待看看用户是否打算双击,但从 UX 的角度来看,等待 300 毫秒通常是不可取的。
消除这种 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
});
我想要做的是使用这样的单个代码片段摆脱所有这些点击事件的 300 毫秒延迟:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
这是一个坏/好主意吗?