1

我正在开发一个对点击事件、长按没有用的应用程序,我想完全删除它们。

实际的问题是 jQuery Mobile UI 引入了延迟以允许它区分点击和点击事件,这导致点击明显延迟,使应用程序感觉滞后。许多应用程序不需要长按,因此延迟通常是无用的。

请注意,将 ontouch 事件视为点击只会使其无法滚动。

如有必要,我很乐意为库打补丁,因此欢迎您回答这些问题。

你如何消除延迟?

4

1 回答 1

3

如果您只需要移除,那么它可以轻松实现。一种方法是一起删除此功能,但可以通过 jQuery Mobile 全局配置来完成。

此外,我可以看到这是一个老问题,jQuery Mobile 已移至 1.3.1 版,因此我的答案是在上一个版本中创建的,但据我所知,它也适用于旧版本。

您所要做的就是更改 glabal 参数:

$.event.special.tap.tapholdThreshold

它用于告诉(以 ms 为单位)将 tap 计算为 taphold 需要多长时间。

如果此参数设置为某个巨大的数字,我们可以摆脱 taphold。

我给你做了一个工作示例:http: //jsfiddle.net/Gajotres/U4prb/

$(document).bind("mobileinit", function(){
    $.event.special.tap.tapholdThreshold = 10000000000;
});

还要注意 mobileinit 必须在 jQuery Mobile 初始化之前进行初始化。只要看看我的例子,一切都会很清楚。

于 2013-05-23T10:44:20.787 回答