javascript双击事件取消默认的两次单击事件
当一个元素同时具有单击和双击事件时,双击时会触发2次单击和1此双击事件。
双击会:先第1次单击 ,同时触发第2次和双击事件。
造成的不好影响:每次单击事件会延迟执行。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"> var id; window.onload = function () { document.getElementById('divdemo').onclick = function () { //清除的是双击事件的第2次单击事件id clearTimeout(id);//这句代码放setTimeout下面,也同样将下面的定时器关掉。 id = setTimeout(function () {//不论单双击,每点击一次就会立马产生一个定时器id,产生的id和这个定时器执行与否(什么时候执行)没有关系。 alert(id);//单击操作 }, 300); //clearTimeout(id); } document.getElementById('divdemo').ondblclick = function () { //清除的是双击事件的第1次单击事件id clearTimeout(id); alert(id);//双击操作 } } </script> </head> <body> <div id="divdemo" style="width: 400px; height: 400px; background-color: red"> </div> </body> </html>
只有单击,
<script type="text/javascript"> var id; window.onload = function () { document.getElementById('divdemo').onclick = function () { //清除的是双击事件的第2次单击事件id //clearTimeout(id);//这句代码放setTimeout下面,也同样将下面的定时器关掉。 id = setTimeout(function () {//不论单双击,每点击一次就会立马产生一个定时器id,产生的id和这个定时器执行与否(什么时候执行)没有关系。 alert(id);//单击操作 }, 300); clearTimeout(id);//只有单击时,只能放这,才会让单击事件不执行 } } </script> <body> <div id="divdemo" style="width: 400px; height: 400px; background-color: red"> </div> </body>
知识没有高低贵贱之分。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?