消除移动Safari中点击事件的300ms延迟
我了解到,从单击链接/按钮到事件触发之间,移动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(); }); 这是一个好主意吗?