javascript - 如何在没有 jQuery 的情况下在移动设备中检测 JavaScript 中的长触摸

标签 javascript webview reactjs

我在 StackOverflow 上找到了一些解决方案,但大多数都使用 jQuery。有没有办法用纯 JavaScript 或 ReactJS 来做到这一点。

最佳答案

这是鼠标事件的基本演示:http://codepen.io/zvona/pen/avYgJg?editors=011 。您还需要使用 onTouchStartonTouchEnd。此外,还应根据您的目的调整延迟(当前为 300 毫秒)。

var LongTouch = React.createClass({
  getInitialState() {
    return {
      value: 'Touch me'
    }
  },

  startTouch() {
    this.touchTimeout = window.setTimeout(function() {
      this.setState({
        value: 'Long touch triggered'
      });
    }.bind(this), 300);
  },

  endTouch() {
    window.clearTimeout(this.touchTimeout);
    this.setState(this.getInitialState());
  },

  render() {
    return (
      <div
        className='longTouch'
        onMouseDown={this.startTouch}
        onMouseUp={this.endTouch}>
        {this.state.value}
      </div>
    )
  }
});

关于javascript - 如何在没有 jQuery 的情况下在移动设备中检测 JavaScript 中的长触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33361507/

相关文章:

javascript - putImageData(),如果新像素是透明的,如何保留旧像素?

java - 通过 bbUI 访问 BB 属性

javascript - ReactJs 中定义组件的两种方式之间的区别

java - 具有 Webview 的 IOS 和 Android 应用程序是否仅被视为混合应用程序或 Web 应用程序?

javascript - 强制 Android WebView 离线

javascript - 如何使用 i18n 翻译作为对象的键

javascript - 如何正确配置 module.alias

javascript - 如何计算另一个元素上滚动速度的倍增因子,以便它们同时到达末尾( View 顶部)

javascript - Android 2.3 WebView Javascript 中断页面

javascript - ReactJS 和 jQuery 是互斥的吗?