我知道互联网上有很多这些问题,但我已经尝试了所有解决方案(this question的所有答案),但都没有。
当我在PC的浏览器中运行该网站时,一切都很好,但是一旦我在手机上部署,响应时间就非常滞后。
我尝试过使用FastClick,将hoverDelay设置为0,并绑定我自己的事件,但结果是一样的。
使用的是Android 4.1。除了我尝试过的任何帮助,我将不胜感激。
答案 0 :(得分:24)
要加速JQM,您必须关闭任何过渡。
很糟糕,但JQM转换对于移动设备来说太慢了,即使在iOS上也是如此。我们只需等待几年,直到我怀疑硬件变得更快。尽管JQM团队试图提高1.2的性能。如果没有我的应用程序感觉迟钝,我仍然无法使用转换。
我总是使用这些设置来获得jQuery mobile的最佳性能。
$.mobile.defaultPageTransition = 'none'
$.mobile.defaultDialogTransition = 'none'
$.mobile.buttonMarkup.hoverDelay = 0
同样,如果您正在编写任何javascript,不绑定到任何“点击”事件。在移动设备上点击速度太慢,因为在触发事件之前还有300毫秒的延迟。
由于您使用的是JQM,因此您可以使用他们自己的点击事件vclick
(在幕后使用touchstart
和touchend
事件)。
如果在此之后它仍然非常慢,您可能必须检查点击事件中实际发生的情况 - 也许您的代码没有尽可能优化。
答案 1 :(得分:2)
答案 2 :(得分:1)
此代码段为我工作
var ua = navigator.userAgent,
event = (ua.match(/iPad|Android/i)) ? "touchstart" : "click";
$("button,a").bind(event, function()
{
$(this).trigger('click');
});