当前位置: 首页 > 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.ds6.com.cn/news/34115.html

相关文章:

  • 关于网站建设的指标百度怎么发帖做推广
  • 国外网站建设软件网络推广运营主要做什么
  • 网站贸易表格怎么做东莞网络营销推广软件
  • wordpress 获取附件seo营销外包
  • 照片做视频ppt模板下载网站好怎么自己做一个网站
  • 3建设营销型网站流程图营销渠道策略有哪些
  • vue做门户网站百度高级搜索指令
  • jsp动态网站开发教程谷歌chrome浏览器
  • 网站建设优化推广西藏chinaz站长素材
  • 网络规划设计师通过率是多少百度seo提高排名费用
  • 网站设计专题页免费外链网
  • 山东省建设机械协会网站免费的个人主页网页制作网站
  • 安康市教育云平台淘宝优化
  • 网站推广网络怎么做电商生意
  • 招标网站靠谱吗网站推广交换链接
  • 网站备案成功然后怎么做138ip查询网域名解析
  • 深圳网站建设 易通鼎深圳关键词排名seo
  • 商店网站在线设计长沙网络推广网站制作
  • 网站代码大全可复制百度关键词排名点击器
  • 建个网站视频seo在线优化工具
  • 网站后台软件可以自己做吗windows优化大师下载安装
  • 做外贸网站用什么软件翻强的东莞seo优化排名推广
  • 网站推广广告词如何做网站推广
  • 网站怎么做全站搜索网络做推广广告公司
  • 做网站时会遇到什么问题百度怎么免费推广
  • 茂名免费网站建设汕头百度网站推广
  • 网站制作和设计需要多少钱海外网络推广服务
  • 日本做瞹瞹嗳视频网站指数工具
  • 一个域名一个主机可以做两个网站吗qq引流推广软件免费
  • 南京平台网站建设google怎么推广