在React应用程序中,我有几个组件实现了onClick处理程序。问题是我正在部署到iPad上的Safari,因此存在300毫秒的单击延迟。最好的方法是什么来消除这个延迟?是否可以覆盖React onClick监听器或类似的东西?我知道有几个存储库试图修复这个问题,但我不能添加新的方法,我只需要原始的onClick工作。我也知道react-fastclick,但它不适用于React 0.14
touchend
事件取代了click
,因为触摸事件没有延迟。通过添加meta标签<meta name="viewport" content="width=device-width, user-scalable=no">
禁用缩放(Chrome和Firefox)。
将视口设置为设备宽度(Chrome 32+)<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=3">
使用这个非标准PointerEvents解决方案(适用于IE)
a、button、.myelements { -ms-touch-action: manipulation; /* IE10 */ touch-action: manipulation; /* IE11+ */ }
touchend
吗?在Safari中,这些事件没有延迟。 - David Zorychta<meta name="viewport" content="width=device-width">
同样适用于Safari。 - jfbloom22