在React应用程序中,我有几个实现onClick处理程序的组件。问题是我在Ipad上部署到Safari,因此点击有300毫秒的延迟。消除此延迟的最佳方法是什么?是否可以覆盖React onClick侦听器或类似的东西?我知道有几个回复试图解决这个问题,但我无法添加新方法,我只需要原始的onClick即可。我也知道react-fastclick,但它不适用于React 0.14
答案 0 :(得分:2)
300毫秒延迟是移动设备一般的javascript事情。 This link告诉你很多方法可以绕过它。我已经非常成功地收听了touchend
个事件而不是click
,因为触摸事件没有延迟。
其他解决方法包括:
通过添加元标记<meta name="viewport" content="width=device-width, user-scalable=no">
将视口设置为设备宽度(Chrome 32+)<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=3">
使用此非标准PointerEvents解决方法(对于IE)
a,按钮,.myelements { -ms-touch-action:操纵; / * IE10 / 触摸动作:操纵; / IE11 + * / }