在React应用程序中,我有几个实现onClick处理程序的组件。问题是我在Ipad上部署到Safari,所以点击时延迟了300毫秒。消除这种延迟的最佳方法是什么?是否有可能覆盖React onClick监听器或类似的东西?我知道几个回购试图解决这个问题,但我不能添加新的方法,我只需要原始的onClick工作。此外,我知道react-fastclick,但它不适用于反应0.14覆盖React OnClick事件延迟300ms
1
A
回答
1
300ms的延迟是一般的移动设备的JavaScript的东西。 This link告诉你很多方法来解决它。我已经在听取touchend
事件而非click
的巨大成功,因为触摸事件没有延迟。
其它解决方法包括:
禁用缩放(铬和Firefox)加入一个元标记
<meta name="viewport" content="width=device-width, user-scalable=no">
设置视口向装置宽度(铬32+)
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=3">
使用此非标准PointerEvents解决方法(适用于IE)
a,button,.m yelements {-ms-touch-action:manipulation;/* IE10 / touch-action:manipulation;/ IE11 + * /}
相关问题
- 1. Cordova 300ms延迟
- 2. AngularJS:ngTouch 300ms延迟
- 3. 延迟onClick事件
- 4. OnClick事件覆盖
- 5. AngularJS:ngMobile仍有300ms的延迟
- 6. 覆盖延迟和循环
- 7. jQuery - 覆盖延迟()行动?
- 8. fastclick ipad仍然有300ms延迟
- 9. iOS Standalone App 300ms点击延迟
- 10. Safari 300ms延迟苹果设备
- 11. 300ms之间的延迟时间iOS WebApp
- 12. React onClick事件
- 13. HERE Maps API事件延迟
- 14. 覆盖Magento弹出关闭onclick事件
- 15. 如何覆盖TweenMax中的延迟?
- 16. 覆盖延迟加载行为'lazy = false'
- 17. 添加可延迟事件的延迟
- 18. Javascript延迟事件
- 19. Jquery延迟事件
- 20. PointerRealease事件延迟
- 21. TouchDown事件延迟
- 22. MVC5延迟事件
- 23. 有没有办法使HtmlGenericControl子控件的onClick事件覆盖父onClick事件?
- 24. jQuery覆盖onclick
- 25. 用onClick复选框覆盖parrents onClick事件?
- 26. 覆盖React组件方法
- 27. 延迟点击事件
- 28. jQuery Mobile的事件延迟
- 29. SDL事件处理延迟
- 30. jQuery keydown事件:值延迟
感谢您的链接,但我专门在移动 – dingdingding
针对Safari浏览器你尝试'touchend'?对于这些事件,Safari不会有任何延迟。 – Macmee
您是否建议挖掘React onClick处理程序以添加touchend?就是这样,我不想绑定更多的处理程序。我只想在全局范围内扩展onClick功能,而无需编辑每一个文件 – dingdingding