当前位置: 首页 > news >正文

建设银行投诉网站首页东莞网站建设平台

建设银行投诉网站首页,东莞网站建设平台,朋友圈网站文章怎么做的,东莞网站建设硅胶在 Vue 3 中&#xff0c;如果想要拦截双击事件的第一次点击并执行一些逻辑&#xff0c;你可以使用一个状态变量来跟踪第一次点击事件&#xff0c;并在第二次点击时阻止第一次点击逻辑的执行。以下是一个实现示例&#xff1a; <template><divmousedown"handleMou…

在 Vue 3 中,如果想要拦截双击事件的第一次点击并执行一些逻辑,你可以使用一个状态变量来跟踪第一次点击事件,并在第二次点击时阻止第一次点击逻辑的执行。以下是一个实现示例:

<template><div@mousedown="handleMouseDown"@dblclick="handleDoubleClick">双击这个区域</div>
</template><script setup>
import { ref } from 'vue';// 定义一个变量来跟踪第一次点击事件是否在冷却期内
const isCoolingDown = ref(false);function handleMouseDown(event) {// 如果不在冷却期内,执行第一次点击的逻辑if (!isCoolingDown.value) {console.log('第一次点击逻辑');// 设置冷却期状态为 true,并在一定时间后重置为 falseisCoolingDown.value = true;setTimeout(() => {isCoolingDown.value = false;}, 300); // 300ms 是双击间隔时间,可以根据实际情况调整}
}function handleDoubleClick(event) {// 如果处于冷却期内,阻止默认的双击事件行为if (isCoolingDown.value) {event.preventDefault();event.stopPropagation();console.log('拦截了第一次点击,执行双击逻辑');} else {// 如果不在冷却期内,执行正常的双击逻辑console.log('执行正常的双击逻辑');}
}
</script>

在这个示例中:

  • 我们使用 ref 来定义 isCoolingDown 状态变量。
  • handleMouseDown 方法用于处理鼠标按下(第一次点击)事件。如果 isCoolingDown 为 false,则执行第一次点击的逻辑,并设置一个300毫秒的冷却期。
  • handleDoubleClick 方法用于处理双击事件。如果 isCoolingDown 为 true,则表示第一次点击逻辑正在冷却期内,我们阻止默认的双击行为并执行自定义的双击逻辑。如果 isCoolingDown 为 false,则执行正常的双击逻辑。

这种方法可以确保在双击事件的第一次点击时执行特定的逻辑,同时在第二次点击时执行另一组逻辑或阻止默认的双击行为。

开发案例:

const isFlag = ref(false);
function handleMouseDown() {console.log('handleMouseDown');if (!isFlag.value) {console.log('第一次点击');isFlag.value = true;// console.log('isFlag.value-1', isFlag.value);setTimeout(() => {isFlag.value = false;// console.log('isFlag.value-2', isFlag.value);}, 300);}
}
function rowClick(event, field) {console.log('event', event, 'field', field);if (isFlag.value) {event.preventDefault();event.stopPropagation();console.log('拦截了第一次点击,并执行双击逻辑');} else {console.log('执行双击逻辑');}// 以下是双击的逻辑field.Selected = true;props.rowClickCB(event,Object.assign(new Cell(), { TableField: field, TableInfo: props.TableInfo }));
}
<div:class="item.Selected ? 'row' : ''"@contextmenu.prevent="fieldMenu($event, TableInfo, item)"@click="selectField(activeList, item, startNum + index)"@dblclick="rowClick($event, item)"@mousedown="handleMouseDown"style="display: flex; justify-content: space-around">

 开发案例中,到目前为止,可以成功拦截第一次点击,但是需要注意的是,需要双击的频率在合适(双击频率要在300ms内点击第二次)的情况下才会拦截第一次点击,在里面写你要的TODO逻辑即可。(如果双击频率稳定在某个范围(凭感觉),就会走到else {console.log('执行双击逻辑');}),所以双击逻辑放到 if 外面就能都走到,目的是拦截第一次点击做一些操作而已。

如果需要每次双击都拦截到第一次点击,可以调一下定时器的时间即可,可以调到500ms,一般人双击的频率都可以在500ms点击第二次。但是超过500ms之后点击第二次的话也不会拦截到第一次点击。

 

http://www.khdw.cn/news/33493.html

相关文章:

  • 程序开发接单巩义网站优化公司
  • 北京整站线上推广优化杭州seo技术
  • 网站开发 验收标准福州百度快照优化
  • 舌尖上的西安 网站怎么做百度收录怎么做
  • 网页设计与制作实例教程seo排名需要多少钱
  • 青岛做网站优化哪家好百度关键字推广费用
  • 天津大寺网站建设重庆网站搜索引擎seo
  • 柳州网站优化怎样提高百度推广排名
  • 做adsense对网站有什么要求百度推广怎么操作
  • 网站的客服怎么做关键词优化排名软件哪家好
  • 北京做日本旅游的公司网站计算机培训班培训费用
  • 深圳求职招聘网站网站优化种类
  • p2p网站制作 杭州企业管理系统
  • 做快餐料包的网站有哪些seo检测优化
  • 网站开发语言汇总seo关键词有话要多少钱
  • 个人网站建设视频教学搜索引擎广告形式有哪些
  • 自己做优惠券网站网站建设设计
  • 旅行社网站建设seo网站收录工具
  • 贵州网站建设百度客服怎么联系
  • 公司网页制作上海关键词seo
  • 网站项目策划书内容模板百度营销推广官网
  • 网站开发主要使用的技术谷歌官网网址
  • 响应式网站seo站长素材免费下载
  • 做报纸版式的网站如何用html制作网页
  • 做网站的品牌公司网络营销师证书需要多少钱
  • 做网站从哪里找货源搜索引擎优化人员优化
  • 沈阳怎么做网站关键词优化如何
  • 北京网站建设哪家好网络软营销
  • 临朐网站建设建站百度号码
  • 免费素材库短视频素材网站谷歌外链工具