如何让touchmove之后不触发touchend的事件

简介: 如何让touchmove之后不触发touchend的事件

手机扫码看效果

不多说,直接上代码

<ul id="Ul">
    <li>111</li>
    <li>222</li>
    <li>333</li>
    <li>444</li>
    <li>555</li>
    <li>666</li>
    <li>777</li>
    <li>888</li>
    <li>999</li>
    <li>000</li>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
    <li>ddd</li>
    <li>eee</li>
    <li>fff</li>
    <li>ggg</li>
    <li>hhh</li>
    <li>iii</li>
    <li>jjj</li>
    <li>kkk</li>
    <li>lll</li>
    <li>mmm</li>
    <li>nnn</li>
    <li>ooo</li>
    <li>ppp</li>
    <li>qqq</li>
</ul>
*{
    margin: 0;
    padding: 0;
    border: 0;
}
ul{
    list-style: none;
}
li{
    line-height: 2em;
    border-bottom: 1px solid #eee;
    width: 100%;
    text-indent: 2em;
}
var UL = document.getElementById('Ul');
var moves = true;
function Alert(ev){
    if(moves)
    alert(ev.target.innerHTML)
}
UL.addEventListener('touchmove',function(){
    moves = false;
    UL.addEventListener('touchend',function(){
        moves = true;
    })
})
UL.addEventListener('touchend', Alert)

原理:

1. 设置一个变量moved来标识是否有移动过,初始值为false;

2. 绑定touchend事件,将moved置为true;

3. 绑定touchmove事件,将moved置为false;

4. 在touchmove事件函数中继续绑定touchend事件,再将moved置为true

---恢复内容结束---


相关文章
|
传感器 机器学习/深度学习 人工智能
光子集成电路:光子学与电子学的结合
【10月更文挑战第18天】光子集成电路(PIC)结合了光子学与电子学的优势,利用光子作为信息传输和处理的载体,具备高速传输、大带宽、低功耗和高集成度等特点。本文介绍其基本原理、技术优势及在高速光通信、光计算、传感器和激光雷达等领域的应用前景,展望未来发展趋势与挑战。
|
7月前
|
Rust JavaScript 前端开发
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
本文探讨了编程语言中的动态类型与静态类型、强类型与弱类型的概念。通过实例分析,如Python允许变量类型动态变化(如`age`从整型变为字符串),而C语言一旦声明变量类型则不可更改,体现了动态与静态类型的差异。此外,文章还对比了强类型(如Python,不允许隐式类型转换)和弱类型(如JavaScript,支持自动类型转换)的特点。最后总结指出,Python属于动态类型、强类型语言,对初学者友好但需注意类型混淆,并预告下期内容及提供学习资源链接。
185 21
|
JavaScript API 数据安全/隐私保护
【Azure Developer】Azure AD 注册应用的 OAuth 2.0 v2 终结点获取的 Token 解析出来依旧为v1, 这是什么情况!
【Azure Developer】Azure AD 注册应用的 OAuth 2.0 v2 终结点获取的 Token 解析出来依旧为v1, 这是什么情况!
173 0
|
传感器 缓存 监控
Stream 组件在 Flutter 中的应用场景有哪些?
Stream 组件在 Flutter 中的应用场景有哪些?
394 58
|
弹性计算 监控 安全
重装系统后,无法通过云监控查看ecs资源占用怎么解决
如果您在重装系统后无法通过云监控查看ECS资源占用,可以按以下步骤排查:1. 确认云监控插件状态是否“运行中”,若不是则需重新安装;2. 通过自动安装流程安装插件,并确认状态变回“运行中”;3. 检查ECS网络配置,确保能访问外部网络;4. 验证监控功能是否正常显示数据;5. 可选设置报警规则。如问题仍存,请检查防火墙或安全组设置。通过上述步骤,您应能重新启用云监控。
|
前端开发 安全 网络安全
前端必备网络安全知识
【8月更文挑战第25天】前端必备网络安全知识
330 1
|
供应链 自动驾驶 物联网
5G通信
7月更文挑战第2天
|
Web App开发 JavaScript 前端开发
Web 页面性能衡量指标-以用户为中心的性能指标
Web 页面性能衡量指标-以用户为中心的性能指标 以用户为中心的性能指标是理解和改进站点体验的关键点 一、以用户为中心的性能指标 1. 指标是用来干啥的? 指标是用来衡量性能和用户体验的 2. 指标类型 • 感知加载速度:网页可以多快地加载网页中的所有视觉元素并将其渲染到屏幕上 • 加载响应速度:页面加载和执行组件快速响应用户互动所需的 JavaScript 代码的速度 • 运行时响应速度:网页在加载后对用户互动的响应速度 • 视觉稳定性:页面上的元素是否会以用户意想不到的方式发生偏移,是否可能会干扰用户的互动? • 流畅性:过渡和动画是否以一致的帧速率渲染,并在一种状态之间流畅地流动
499 1
|
Java Apache 开发者
介绍BeanUtils.copyProperties方法
介绍BeanUtils.copyProperties方法