【问题标题】:React Click events not firing on mobileReact Click 事件未在移动设备上触发
【发布时间】:2021-03-14 12:55:45
【问题描述】:

我已经使用 react 几个月了,但遇到了一些奇怪的事情。

在移动设备上根本不会触发点击事件:

http://jsbin.com/morarewelu/1/edit?html,js,output

http://jsbin.com/morarewelu/1/ - 检查您的设备

您可以看到从未触发过点击。在这里在 iphone 上测试。

这是预期的行为,还是只是一个错误?

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    React 的 Github 项目中有一些问题可能会有所帮助。

    看起来,您需要添加一个 CSS cursor:'pointer' 以便手机(特别是 iOS 设备)在元素上触发原生点击事件。

    【讨论】:

    • 谢谢,真的很有用
    • 刚刚解决了这个问题,在上述链接之一中,我发现您需要向元素添加 CSS 属性 cursor: pointer;,然后它会在触摸事件上触发 onClick。只是为了方便 - 为我工作。
    • 是的,对我来说cursor: pointer; 也很好用。我的意思是不带引号的“指针”...而且我注意到这仅在 IOS 设备而非 Android 上是一个问题。
    • 光标 css 属性不再起作用。
    【解决方案2】:

    我在使用 Chrome 浏览器时遇到了同样的问题,但是当我使用 Firefox 时,onClick 处理程序工作正常,因此问题出在 Chrome 中,因为 chrome 对处理触摸进行了一些重大更改,并且我正在阻止默认设置并自己处理它不起作用。 试试running in Firefox 会起作用的。

    【讨论】:

      【解决方案3】:

      我有同样的问题,我需要双击才能触发任何点击事件。它不仅限于 Safari。我可以通过使用 onMouseDown 和 onMouseUp 来克服这个问题——它适用于移动设备和桌面设备——但这并不总是很方便。我想知道为什么会发生这种情况以及如何以更好的方式解决它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-15
        • 1970-01-01
        • 1970-01-01
        • 2015-07-22
        • 2014-05-07
        • 2023-01-20
        • 1970-01-01
        相关资源
        最近更新 更多