【发布时间】:2021-03-14 12:55:45
【问题描述】:
我已经使用 react 几个月了,但遇到了一些奇怪的事情。
在移动设备上根本不会触发点击事件:
http://jsbin.com/morarewelu/1/edit?html,js,output
http://jsbin.com/morarewelu/1/ - 检查您的设备
您可以看到从未触发过点击。在这里在 iphone 上测试。
这是预期的行为,还是只是一个错误?
【问题讨论】:
标签: reactjs
我已经使用 react 几个月了,但遇到了一些奇怪的事情。
在移动设备上根本不会触发点击事件:
http://jsbin.com/morarewelu/1/edit?html,js,output
http://jsbin.com/morarewelu/1/ - 检查您的设备
您可以看到从未触发过点击。在这里在 iphone 上测试。
这是预期的行为,还是只是一个错误?
【问题讨论】:
标签: reactjs
React 的 Github 项目中有一些问题可能会有所帮助。
看起来,您需要添加一个 CSS cursor:'pointer' 以便手机(特别是 iOS 设备)在元素上触发原生点击事件。
【讨论】:
cursor: pointer;,然后它会在触摸事件上触发 onClick。只是为了方便 - 为我工作。
cursor: pointer; 也很好用。我的意思是不带引号的“指针”...而且我注意到这仅在 IOS 设备而非 Android 上是一个问题。
我在使用 Chrome 浏览器时遇到了同样的问题,但是当我使用 Firefox 时,onClick 处理程序工作正常,因此问题出在 Chrome 中,因为 chrome 对处理触摸进行了一些重大更改,并且我正在阻止默认设置并自己处理它不起作用。
试试running in Firefox 会起作用的。
【讨论】:
我有同样的问题,我需要双击才能触发任何点击事件。它不仅限于 Safari。我可以通过使用 onMouseDown 和 onMouseUp 来克服这个问题——它适用于移动设备和桌面设备——但这并不总是很方便。我想知道为什么会发生这种情况以及如何以更好的方式解决它。
【讨论】: