首页 > 其他分享 >24.单击、双击、触摸长按事件

24.单击、双击、触摸长按事件

时间:2023-07-06 15:56:17浏览次数:41  
标签:24 单击 触摸 事件 timeOutEvent clickTimes 双击

1. 单击click

 <div @click="clickFun"></div>            //是否有括号决定是否可传参
 <div @click="clickFun($event)"></div>    // $event表示当前事件对象
 <div @click.stop="clickFun()"></div>     //.stop修饰符可阻止事件冒泡
 <div @click.prevent="clickFun()"></div>  //.prevent修饰符可阻止默认行为

 

2. 双击dblclick

 <div @dblclick="clickFun()"></div>

 

3.问题:为同一元素绑定单击事件与双击事件时,解决单击事件与双击事件冲突?

方案:可用单击模拟双击事件。
<template>
    <div @click="clickFun">点击</div> 
</template>
<script>
export default{
    data(){
        return{
            clickTimes:0  //记录点击次数
        }
    },
    methods:{
        clickFun(){ 
            let _this = this
            _this.clickTimes++;
            if (_this.clickTimes === 2) {  
                _this.clickTimes = 0;  
                //  处理双击事件... 
            }
            setTimeout(function () {
                if (_this.clickTimes === 1) {
                    _this.clickTimes = 0; 
                    //  处理单击事件... 
                }
            }, 250) 
        } 
    }
}
</script>

 

4.触摸:touchstart、touchmove、touchend、touchcancel

touchstart:  //手指放到屏幕上时触发 
touchmove:   //手指在屏幕上滑动时连续地触发 
touchend:    //手指移开屏幕时触发 
touchcancel: //系统停止跟踪触摸时触发,使用较少

 

5.问题:为同一元素绑定单击事件与长按事件,解决单击事件与长按事件冲突?

方案:使用touchstart、touchend事件。由于长按会触发浏览器的默认行为,引入.prevent修饰符。
<template>
    <div  @touchstart.prevent="goTouchstart()" @touchend.prevent="goTouchend()">触摸</div> 
</template>
<script>
export default{
    data(){
        return{
            timeOutEvent:0 //记录触摸时长
        }
    },
    methods:{
        goTouchstart() {
            let _this = this;
            clearTimeout(_this.timeOutEvent);
            _this.timeOutEvent = setTimeout(function() {
                _this.timeOutEvent = 0;
                //  处理长按事件...
            }, 600);
        },
        //手如果在600毫秒内就释放,则取消长按事件
        goTouchend() {
            let _this = this;
            clearTimeout(_this.timeOutEvent);
            if (_this.timeOutEvent !== 0) {
                //  处理单击事件
            }
        }
    }
}
</script>

 

标签:24,单击,触摸,事件,timeOutEvent,clickTimes,双击
From: https://www.cnblogs.com/chenJieLing/p/17532380.html

相关文章

  • kettle9.3双击Spoon.bat文件闪退
    在这里记录一下出现闪退的原因,可能有很多种,我这只是其中一种出现闪退的时候,在kettle启动目录中找到SpoonDeBug.bat,双击运行,根据提示一直按Y,最后完成后会在当前目录下生成一个SpoonDeBug.txt文件,里面记载的是报错信息,报错信息如下:DEBUG:UsingJAVA_HOMEDEBUG:_PENTAHO_JAVA_H......
  • 24届秋招专场 · 数组如何用双指针解题呢?
    你好,我是安然无虞。文章目录删除有序数组中的重复项删除排序链表中的重复元素移除元素移除零大家好,近期主要更新数组相关的解题算法咯,感兴趣的老铁可以一起看过来啦。今天更新使用双指针解决数组部分题型,注意哦,这里所说的双指针不是C语言中“指针”的概念,指的是数组的索引下标,......
  • 2023-03-24-CQ 2023 省选前考试记录
    Ihopeitwasenoughtobethewayyouarewheneverything'sfallingapart.2023-03-27我是......
  • 2023-03-24-CQ 2023 省选前复习记录
    伝えに来たよ傷跡を辿ってそれならもう恐れるものはないんだと.CF449D看来我确实只会做板题/kk。一个很naive的想法是定义\(dp_{i,x}\)表示当前到了第\(i\)位,与起来的值为\(x\)的方案数,显然这个做不下去,因为状态数会有重叠,并且这复杂度会爆。一个不那么naiv......
  • 算法学习day06哈希表part01-242、349、202、1
    packageSecondBrush.Hash;/***242.有效字母异位词*现在看到这个题目能想到怎么做,但是具体不知道怎么写*大致思路自己先描述一下:*就是建立一个hash表,然后遍历s,写进表中,遍历t,减去对应的数*hash表就可以理解为数组*/publicclassValidAnagram_242{publi......
  • 第014课 Jz2400_ARM异常与中断体系详解
    第001节_概念引入与处理流程取个场景解释中断。假设有个大房间里面有小房间,婴儿正在睡觉,他的妈妈在外面看书。问:这个母亲怎么才能知道这个小孩醒?过一会打开一次房门,看婴儿是否睡醒,让后接着看书一直等到婴儿发出声音以后再过去查看,期间都在读书第一种叫做查询方式:*优点:简单*缺......
  • 如何使用libswscale库将YUV420P格式的图像序列转换为RGB24格式输出?
    一.视频格式转换初始化将视频中的图像帧按照一定比例缩放或指定宽高进行放大和缩小是视频编辑中最为常见的操作之一,这里我们将1920x1080的yuv图像序列转换成640x480的rgb图像序列,并输出到文件。视频图像转换的核心为一个SwsContext结构,其中保存了输入图像和输出图像的宽高以......
  • 24.C++中const和static的作用
    static●不考虑类的情况○隐藏。所有不加static的全局变量和函数具有全局可见性,可以在其他文件中使用,加了之后只能在该文件所在的编译模块中使用○默认初始化为0,包括未初始化的全局静态变量与局部静态变量,都存在全局未初始化区○静态变量在函数内定义,始终存在,且只进行一次初始......
  • python 实现 ctrl + 左键 单击刷新网页
    importsysfrompywinauto.applicationimportApplicationimportmouseimportkeyboardimporttimeclassApp(object):def__init__(self,pid):app=Application(backend='uia').connect(process=int(pid))self.win=app.top_w......
  • 移植SDL到JZ2440显示BMP图片
    写这类教程的目的是,熟悉Linux基本操作和嵌入式开发流程,希望对你有所帮助. 前面我们讲过系统起来后开机LOGO的制作,韦老师第3期讲了如何显示jpeg图片,那么怎么显示bmp图片?这次我们借助libSDL来实现,我们先移植SDL到Ubuntu,体验它的威力后再移植到开发板。一、移植SDL到Ubun......