【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

Stable Diffusion 提示词高阶用法:从新手到精通的实战指南

快速体验 在开始今天关于 Stable Diffusion 提示词高阶用法:从新手到精通的实战指南 的探讨之前,我想先分享一个最近让我觉得很有意思的全栈技术挑战。 我们常说 AI 是未来,但作为开发者,如何将大模型(LLM)真正落地为一个低延迟、可交互的实时系统,而不仅仅是调个 API? 这里有一个非常硬核的动手实验:基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。 从0到1构建生产级别应用,脱离Demo,点击打开 从0打造个人豆包实时通话AI动手实验 Stable Diffusion 提示词高阶用法:从新手到精通的实战指南 刚接触 Stable Diffusion 时,我经常遇到这样的困扰:明明输入了详细的描述,

【大作业-46】基于YOLO12的无人机(航拍)视角的目标检测系统

【大作业-46】基于YOLO12的无人机(航拍)视角的目标检测系统

基于YOLO12的无人机(航拍)视角的目标检测系统 🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳 【大作业-46】基于yolo12的航拍(无人机)视角目标检测与追踪系统 🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳 各位小伙伴大家好,今天我们为大家带来的是基于无人机视角下的目标检测,主要是对常规的行人、车辆这些目标进行检测,并且接着这个机会我们对yolo12的新模块进行一下说明,和之前的内容一样,我们的教程中包含了标注好的数据集、训练好的yolov5、yolov8、yolo11以及yolo12的模型,还有一个配套的图形化界面。本次的数据集包含的类别如下: 0: pedestrian 行人 1: people 人 2: bicycle 自行车 3: car 汽车 4: van 货车 5: truck 卡车 6: tricycle 三轮车 7: awning-tricycle 遮阳篷三轮车 8: bus 公交车 9: motor 摩托车 以下是部分数据示例。

[论文阅读] AI + 软件工程 | 突破LLM上下文瓶颈:上下文内存虚拟化CMV的设计与实践

[论文阅读] AI + 软件工程 | 突破LLM上下文瓶颈:上下文内存虚拟化CMV的设计与实践

突破LLM上下文瓶颈:上下文内存虚拟化CMV的设计与实践 论文基础信息 * 原标题:Contextual Memory Virtualisation: DAG-Based State Management and Structurally Lossless Trimming for LLM Agents * 主要作者:Cosmo Santoni * 研究机构:帝国理工学院(Imperial College London) * 发表时间:2026年2月 * 引文格式(GB/T 7714):SANTONI C. Contextual memory virtualisation: DAG-based state management and structurally lossless trimming for LLM agents[EB/OL]. [2026-02-25]. arXiv:

论文阅读 | MiniCPM-o | RLAIF-V开源AI反馈助力模型可信度超越GPT-4V

论文阅读 | MiniCPM-o | RLAIF-V开源AI反馈助力模型可信度超越GPT-4V

论文地址:https://arxiv.org/pdf/2405.17220 发布时间:2024年5月27日 =》2025 年 10 月 29 日 v3版本 论文主要由豆包AI翻译 论文总结 核心目标 解决现有多模态大语言模型的幻觉问题,突破传统RLHF依赖人工标注、现有RLAIF依赖专有模型的局限,通过全开源范式构建高质量反馈,实现模型可信度与人类偏好的对齐。 核心创新 1. 去混淆响应生成:相同条件下多轮采样解码,消除文本风格干扰,凸显可信度真实差异; 2. 分而治之反馈标注:将响应拆解为原子声明,转换为极性问题评估,降低开源模型标注难度; 3. 迭代反馈学习:动态更新反馈分布,解决DPO训练中的分布偏移问题; 4. 推理自反馈机制:利用DPO对齐模型的奖励分数,结合长度归一化策略,优化推理阶段性能。 关键结果 1. 幻觉抑制显著:RLAIF-V 7B将物体幻觉率降低80.7%