【问题标题】:onClick event not firing on iPad (reactJS) when onMouseMove even also enabled当 onMouseMove 甚至也启用时,onClick 事件不会在 iPad (reactJS) 上触发
【发布时间】:2017-03-16 06:49:25
【问题描述】:

我希望使用React Synthetic Events documentation 中列出的跨浏览器 React JS 事件。

我创建了一个小 div,并试图捕捉鼠标移动(对于非触摸)和点击事件:

....and the div...
<div id="mi-debug" 
     onClick={this.onClick}
     onMouseMove={this.onMove}
>

点击/鼠标移动在普通屏幕上工作正常。在 iPad 上,不会触发点击事件 - 在点击时,会触发“onMouseMove”事件。

但是,如果我不附加 onMouseMove 事件处理程序,单击事件会触发 OK。

这是一台较旧的 iPad,但我希望宣传的跨浏览器支持能够解决这个问题。

有什么解决办法吗?

【问题讨论】:

    标签: reactjs events


    【解决方案1】:

    使用这个库解决你的react-tap-events链接是https://github.com/zilverline/react-tap-event-plugin

    var injectTapEventPlugin = require("react-tap-event-plugin");
    injectTapEventPlugin();
    

    在你的渲染方法中

    render: function() {
      return (
        <a
          href="#"
          onTouchTap={this.handleTouchTap}
          onClick={this.handleClick}>
          Tap Me
        </a>
      );
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-27
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多