【Web APIs】JavaScript touch 触摸事件 ① ( touchstart 触摸开始事件 | touchmove 触摸移动事件 | touchend 触摸结束事件 )

【Web APIs】JavaScript touch 触摸事件 ① ( touchstart 触摸开始事件 | touchmove 触摸移动事件 | touchend 触摸结束事件 )

文章目录




一、JavaScript touch 触摸事件


touchstart、touchmove、touchend 事件是 JavaScript 专为支持 触摸操作 的 移动设备( 手机、平板等 ) 设计的核心触摸事件, 用于 监听用户的触摸行为 , 构成了 完整的 触摸生命周期 ;

1、 touchstart 触摸开始事件

touchstart 触摸开始事件 :

  • 核心定义 : 在 用户的手指首次接触到触摸 设备屏幕 ( 或指定触摸元素 ) 的瞬间, 立即触发该事件 ,标志着一次触摸行为的正式开始;
  • 关键特性 : 每个触摸点( 单手指 / 多手指 ) 仅 触发一次( 手指保持接触时不会重复触发 ) ;
  • 常用场景 :
    • 初始坐标 :记录触摸的初始坐标, 为后续判断滑动方向做准备 ;
    • 触摸激活 :触发元素的 触摸激活状态, 如按钮按下时的高亮样式 ;
    • 初始触摸 :初始化 手写板、画布涂鸦等 触摸相关业务逻辑 ;

2、touchmove 触摸移动事件

touchmove 触摸移动事件 :

  • 核心定义 : 当用户的手指保持 与 屏幕 接触状态 并 发生位置移动 时, 会持续、高频触发该事件, 直到手指停止移动 或 离开屏幕 ;
  • 关键特性 : 移动过程中连续触发, 触发频率 由 设备性能、手指移动速度 决定 , 事件对象会实时更新触摸点的当前位置 ;
  • 常用场景 :
    • 滑动交互 : 实现 滑动交互 , 如 轮播图左右滑动、下拉刷新、侧边栏拖拽 ;
    • 实时绘制 : 手写板 轨迹跟随、涂鸦创作 ;
    • 触摸跟随 : 如 悬浮按钮 随手指移动 ;

3、touchend 触摸结束事件

touchend 触摸结束事件 :

  • 核心定义 : 当用户的手指从屏幕上抬起 ( 完全离开触摸区域 ) 的 瞬间, 触发该事件 , 标志着一次触摸行为的结束 ;
  • 关键特性 :每个 触摸点 仅 触发一次, 事件对象中仍可获取该触摸点离开前的最后位置信息 ;
  • 常用场景 :
    • 结束滑动 :结束 滑动逻辑 并判断 滑动结果, 如 : 轮播图滑动后定位到目标页面 ;
    • 保存结果 : 保存 手写绘制、涂鸦 的最终内容 ;
    • 恢复状态 :恢复 元素 的 初始状态, 如 : 按钮抬起后取消高亮 ;
    • 触发回调 :触发 触摸结束 后的 业务回调 , 如 : 滑动完成后的数据加载 ;




二、代码示例 - touch 触摸事件



1、代码示例

代码示例 :

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metahttp-equiv="X-UA-Compatible"content="ie=edge"><title>touch 触摸事件</title><style>div{width: 200px;height: 200px;background-color: pink;}</style></head><body><div></div><script>// 1. 获取元素// 声明一个变量 div , 用于存储获取到的页面元素 , 在整个文档中查询并获取第一个匹配的<div>标签元素 , 将其赋值给变量divvar div = document.querySelector('div');// 2. 手指触摸事件 , 为获取到的 div 元素添加事件监听器 , 监听触摸开始事件 ( touchstart )  div.addEventListener('touchstart',function(){ console.log('touchstart 开始触摸');});// 3. 手指移动事件 , 为获取到的 div 元素添加事件监听器 , 监听触摸移动事件 ( touchmove )  div.addEventListener('touchmove',function(){ console.log('touchmove 触摸移动');});// 4. 手指离开事件 , 为获取到的 div 元素添加事件监听器 , 监听触摸结束事件 ( touchend )  div.addEventListener('touchend',function(){ console.log('touchend 抬起手指');});</script></body></html>

2、执行结果

执行结果 :

进入界面后 , 如果是 Web 模式 , 此时 是 无法触发 触摸事件 的 , 当前状态是 " 普通桌面浏览模式 " , 此时 无法触发 触摸事件 ;

在这里插入图片描述

点击上图的 红色矩形框 中的 " Toggle device toolbar " 按钮 , 也可以使用 Ctrl + Shift + M 快捷键 , 快速切换 " 设备模拟模式 " 与 " 普通桌面浏览模式 " , 下面是 切换为 " 设备模拟模式 " 状态 ;

在这里插入图片描述

触摸事件 完整执行结果 ;

在这里插入图片描述

Read more

2025.10.17 更新 AI绘画秋葉aaaki整合包 Stable Diffusion整合包v4.10 +ComfyUI整合包下载地址

2025.10.17 更新 AI绘画秋葉aaaki整合包 Stable Diffusion整合包v4.10 +ComfyUI整合包下载地址

2025.10.17 更新 AI绘画秋葉aaaki整合包 Stable Diffusion整合包v4.10 +ComfyUI整合包下载地址 * @[TOC](2025.10.17 更新 AI绘画秋葉aaaki整合包 Stable Diffusion整合包v4.10 +ComfyUI整合包下载地址) * 🌈 Stable Diffusion整合包(秋葉aaaki整合版) * 📦 【下载链接】 * 💡 英特尔 CPU 用户特别提醒 * 🔧 AMD 显卡专用方案 * ⚙️ 常见问题与解决方案 * 🧠 ComfyUI 整合包(秋葉aaaki定制优化版) * 📥 【下载链接】 * 🚀 更新日志(2025.2.4 v1.6) * 🧩 报错解决 关键词建议(自动覆盖百度、必应等搜索) AI绘画整合包下载、Stable Diffusion整合包、ComfyUI整合包、秋葉aaaki整合包、AI绘图工具、AI绘画模型、

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

一、OpenClaw Skills:机器人行为的“最小执行单元” 1.1 什么是OpenClaw Skills? OpenClaw是面向开源机械爪/小型机器人的控制框架(核心仓库:openclaw/openclaw),旨在降低机器人行为开发的门槛。而Skills(技能) 是OpenClaw框架中对机器人“单一可执行行为”的封装模块——它将机器人完成某一特定动作的逻辑(如“夹取物体”“释放物体”“移动到指定坐标”)抽象为独立、可复用、可组合的代码单元。 简单来说: * 粒度:一个Skill对应一个“原子行为”(如“单指闭合”)或“组合行为”(如“夹取→移动→释放”); * 特性:跨硬件兼容(适配不同型号机械爪)、可插拔(直接集成到OpenClaw主框架)、可扩展(支持自定义参数); * 核心价值:避免重复开发,让开发者聚焦“

Qwen-Image-2512 V2版 - 细节拉满,更真实的AI绘画体验 ComfyUI+WebUI 一键整合包下载

Qwen-Image-2512 V2版 - 细节拉满,更真实的AI绘画体验 ComfyUI+WebUI 一键整合包下载

Qwen-Image-2512 是 Qwen-Image 文生图基础模型的 12 月更新版本,这是一个最新的文本生成图像模型,特点是 画面更真实、细节更精致,提升了人物与自然细节的真实感,适合在创意设计、教育展示、内容生产等领域使用。 今天分享的 Qwen-Image-2512 V2版 一键包基于阿里最新开源的 Qwen-Image-2512 的FP8量化版(同时支持BF16),支持消费级显卡最低12G显存流畅运行,支持更适合小白操作的WebUI模式和专业选手的ComfyUI两种模式。 相比较上个版本,V2版因使用精度更高的FP8模型,所以在生成效果上更好,同时对硬件的要求也更高,大家根据需要选择适合自己的版本。 下载地址:点此下载   模型特点 更真实的人物表现:相比旧版本,人物的面部细节、表情和环境都更自然,不再有明显的“AI感”。   更精细的自然细节:风景、动物毛发、水流等元素渲染更逼真,层次感更强。   更准确的文字渲染:在生成带文字的图像(如海报、PPT)时,排版和字体更清晰,图文融合更好。   更强的整体性能:

web APIS Day1

web APIS Day1

有关变量的声明 变量的声明有几种方式,例如用let,const。在以前的版本还用var来声明 var的特点:1、允许重复声明  2、存在变量提升,即变量可以再声明前使用 缺点:1、var 声明的变量会被提升到函数或全局作用域的顶部,导致变量在声明前就可以访问,但值为 undefined。这种行为容易引发逻辑错误             2、var 的作用域仅限于函数或全局,而非块级(如 if、for 等)。这会导致变量在块外仍可访问,可能引发意外覆盖 let的特点:1、不允许重复声明  2、不存在变量提升,必须先声明后使用 const的特点:1、必须初始化赋值  2、块级作用域  3。适合用于声明不可变的常量或引用类型 在此推荐使用const来声明变量,可以避免意外修改,或者使用let,var不推荐使用 DOM树和DOM对象 获取DOM元素 在CSS中我们一般使用document.querySelector(