相关疑难解决方法(0)

消除移动Safari中点击事件的300毫秒延迟

我已经读过,从点击链接/按钮到事件触发的时间,移动Safari的点击事件有300毫秒的延迟.延迟的原因是等待用户是否打算双击,但从UX角度来看,等待300毫秒通常是不合需要的.

消除这300ms延迟的一个解决方案是使用jQuery Mobile"tap"处理.不幸的是,我不熟悉这个框架,如果我需要的是一行或两行代码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
});
Run Code Online (Sandbox Code Playgroud)

我想做的是使用如下单个代码片段来消除所有这些点击事件的300毫秒延迟:

$("a, button").on('tap', function (e) {
 $(this).trigger('click');
 e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

这是一个坏/好主意吗?

javascript safari jquery touch jquery-mobile

86
推荐指数
4
解决办法
9万
查看次数

标签 统计

javascript ×1

jquery ×1

jquery-mobile ×1

safari ×1

touch ×1