我读过移动版 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();
});
这是一个坏/好主意吗?