有什么方法,可能是硬件加速,或WebGL,或任何,我能做些什么来加快iPhone的触控反应速度?我真的希望这种反应能够立即出现。
我注意到我的菜单花了将近一秒钟的时间来响应它在iPhone 6上点击的图标,而菜单立即响应桌面上的点击。我注意到我访问过的所有移动网站似乎都是这种情况,并且~1s延迟真的很麻烦,它从网络应用程序中消除了那种清晰,反应的感觉。另一方面,在iOS上安装的应用程序立即对触摸作出反应,因此我知道它不是触摸检测速度。
我创建了一个示例来测试它:
var size = 'norm';
var $box = $('#box').on('click', function () {
if (size == 'norm') {
$box.css({
'width' : '1in',
'height' : '1in'
});
size = 'big';
} else {
$box.css({
'width' : '',
'height' : ''
});
size = 'norm';
}
});

#box {
width:0.5in;
height:0.5in;
margin:0.5in;
background-color:violet;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box"></div>
&#13;
点击iPhone上的框,您就会明白我的意思。
我尝试将-webkit-transform: translateZ(0);
插入到项目的样式中以激活硬件加速,但这似乎并没有提高速度。
答案 0 :(得分:0)
使用轻量级插件消除点击延迟,例如fastClick https://github.com/ftlabs/fastclick
答案 1 :(得分:0)
您遇到的是移动浏览器中的故意延迟,以区分触摸和滑动。这是一个记录良好的问题,幸运的是,有很多可供选择的解决方法:
touchstart
活动,而不是click
活动。Telerik has a fairly recent article regarding your options了解移动浏览器的当前状态(2015年)。