zoukankan      html  css  js  c++  java
  • react,vue移动端(手机端)长按事件

    这里以react为例,vue差不多
    render中随意定义一个

    <div className={styles.commodity} key={index2} onTouchStart={this.start} onTouchMove={this.move} onTouchEnd={this.end}>
    
    
    constructor(props) {
        super(props);
        this.state = {
          checkAll: false,
          longClick:0,  // 长按标志
          timeOutEvent: 0,  // 计时器
        };
      }
      start= ()=>{
        console.log("----start----")
        this.setState({timeOutEvent : setTimeout(()=>{
            this.setState({longClick : 1});  //  长按标志位
            // 此处为长按事件
            console.log("长按事件")
        },1500)})
      }
    
      move=(e)=>{
        console.log("----move----",this.state.timeOutEvent,this.state.longClick)
        clearTimeout(this.state.timeOutEvent)
        this.setState({longClick : 0});  // 清除标志位
        e.preventDefault();  // 阻止其他点击事件
      }
      end=(e)=>{
        clearTimeout(this.state.timeOutEvent)
        this.setState({longClick : 0});  // 清除标志位
        console.log("----end----",this.state.timeOutEvent,this.state.longClick)
    
        if(this.state.timeOutEvent !=0 && this.state.longClick==0){  // 判断是否非长按事件
             //此处为点击事件
            console.log('点击事件')
         }
         return false;
        }
    
    
  • 相关阅读:
    CoreBluetooth
    弹出照片选择器
    ios 去除UITextField中的空格
    ios UITableView默认选中第一行
    ios 监听设备旋转方向
    ios 添加朦层
    ios 异步加载图片
    ios 屏幕旋转的问题
    c# Socket通信基础
    ios 更改全局UINavigationBar的背景图片以及通知栏颜色
  • 原文地址:https://www.cnblogs.com/caoxueyang/p/14371122.html
Copyright © 2011-2022 走看看