Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >jQuery 双击事件(dblclick)时,不触发单击事件(click)

jQuery 双击事件(dblclick)时,不触发单击事件(click)

作者头像
飞奔去旅行
发布于 2019-06-13 07:01:38
发布于 2019-06-13 07:01:38
5.6K00
代码可运行
举报
文章被收录于专栏:智慧协同智慧协同
运行总次数:0
代码可运行

出处:jQuery 双击事件(dblclick)时,不触发单击事件(click)

jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。 先看一下点击事件的执行顺序:

  • 单击(click):mousedownmouseoutclick
  • 双击(dblclick):mousedownmouseoutclickmousedownmouseoutclickdblclick

在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。也就是说双击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick) 结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。

如此这般的话,只需消灭掉多余的一次单击事件(click),这个问题就解决了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//定义setTimeout执行方法
var TimeFn = null;

$('div').click(function () {
    // 取消上次延时未执行的方法
    clearTimeout(TimeFn);
    //执行延时
    TimeFn = setTimeout(function(){
        //do function在此处写单击事件要执行的代码
    },300);
});

$('div').dblclick(functin () {
     // 取消上次延时未执行的方法
    clearTimeout(TimeFn);
    //双击事件的执行代码
})

从测试结果来看,如果前后两次点击的时间在 300ms 左右的时候,还是很容易出现 click 和 dblclick 事件被“同时”调用的情况,而如果间隔的时间更短或更长,则只会有 click 或 dblclick 事件。

至此,能一定程度上避免双击(dblclick)时触发单击(click)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.10.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
双击事件(dblclick)时,不触发鼠标按下(mousedown) 动作事件
在一个dom节点的事件绑定中,如果同时绑定了dblclick和mousedown那么想要执行双击事件(dblclick)时能就会触发两次mousedown事件。
李维亮
2023/10/23
8690
双击事件(dblclick)时,不触发鼠标按下(mousedown) 动作事件
双击事件与单击事件的那些事
合情合理,双击事件也是两次点击事件,所以同时会触发单击事件click和双击事件dblclick。但是需求是单击和双击不同的处理,所以双击的时候不应该触发单击事件。
赤蓝紫
2023/03/16
3.9K0
双击事件与单击事件的那些事
JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件
js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突。 我们加一个延迟时间就能很好的解决这个问题。
小蓝枣
2020/09/23
6.3K0
不完美解决click和dblclick事件冲突问题
  当某个元素,如:div,同时绑定了click事件和dblclick事件,而这两个事件又要处理相对独立的业务,也就是click的时候不能触发dblclick,dblclick的时候不能触发click。在实际测试中发现,当dblclick的时候,总会出现1次click。下文将要解决的就是这个问题。
胡尐睿丶
2022/03/23
1.4K0
Android之按钮点击事件(单击、双击、长按等)
在布局文件中添加按钮点击事件 1、在xml文件中 为 Button 添加android:onclick属性
程思扬
2023/07/24
2.6K0
如何实现伪双击事件
第一种方式:可以参考http://blog.csdn.net/zbssoft/article/details/5602658
跟着阿笨一起玩NET
2018/09/18
8800
js 鼠标事件总结
事件重叠。当您跟踪一个单击事件时,就像跟踪一个mousedown跟着一个mouseup事件一样。在dblclick的情况下,还会触发两次click。
IT工作者
2022/01/05
9.4K0
JavaScript 事件
原文链接:https://note.noxussj.top/?source=cloudtencent 鼠标事件 鼠标单击事件 click 在文档中鼠标进行单击,就会触发事件。 var i = 0 d
菜园前端
2023/05/09
7310
前端技术前沿9
install-node-msi-version-on-windows-step1
达达前端
2019/07/03
1.6K0
前端技术前沿9
jquery鼠标事件
click()   为点击事件绑定一个事件处理函数,或者触发元素点击事件。   .click( handler(eventObject) )     handler(eventObject)       每次事件触发时候执行的函数。   .click([eventData],handler(eventObject))     eventData       一个对象,它包含的数据键值对应映射将被传递给事件处理程序。   handler(e
用户1197315
2018/01/19
4.8K0
如何在STM32嵌入式开发中优雅地处理按键(单击、双击、长按)?
按键在物理层面上具有机械抖动特性,即按下或松开时会产生多次的电平波动,导致微控制器读取到多个错误的状态变化。
不脱发的程序猿
2025/02/10
5150
如何在STM32嵌入式开发中优雅地处理按键(单击、双击、长按)?
jQuery的简单使用
jQuery注册事件也很简单,通过选择器包装好标签对象后,调用相关的事件方法即可,调用事件方法时需要传递一个函数对象,当事件被触发就会执行函数里的代码。在jQuery里的事件名称并没有与html中的事件名称有多大区别,还是那个熟悉的味道熟悉的套路,示例:
端碗吹水
2020/09/23
7.1K0
jQuery的简单使用
jQuery 事件
什么是事件 页面对不同访问者的响应叫做事件。 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。 常见 DOM 事件: 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypr
静默虚空
2018/01/05
3K0
NodeJS后台
1.切换盘符 e: 2.改变目录 cd 目录名 3.执行程序 node xxx.js
达达前端
2019/07/03
1.8K0
NodeJS后台
JQ事件和事件对象
  //mouseover()/mouseout()和mouseenter()/mouseleave()的区别
用户3159471
2018/09/13
4.2K0
[jQuery学习系列四 ]4-Jquery学习四-事件操作
前言: 今天看知乎偶然看到中国有哪些类似于TED的节目, 回答中的一些推荐我给记录下来了, 顺便也在这里贴一下: 一席 云集 听道 推酷 青年中国说 SELF格致论道 参考:http://www.365mini.com/page/tag/jquery-event-methods 1,ready ready()函数用于在当前文档结构载入完毕后立即执行指定的函数。 该函数的作用相当于window.onload事件。 2,blind bind()函数用于为每个匹配元素的一个或多个事件绑定事件处理函数。 举例:
一枝花算不算浪漫
2018/05/18
4.6K0
10-移动端开发教程-移动端事件
在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。
老马
2018/02/18
6.9K0
10-移动端开发教程-移动端事件
JQuery之内置函数响应事件
本文介绍了JavaScript中常见的事件处理机制,包括鼠标事件、键盘事件、表单事件、以及自定义事件的绑定和触发。同时,还介绍了jQuery中常用的内置事件,如click、dblclick、focus、blur、change等。通过实例演示了如何使用jQuery来绑定事件处理函数,并介绍了各种事件处理函数的参数和返回值。通过学习本文,可以更好地掌握JavaScript中的事件处理机制,以及如何使用jQuery来处理事件。"
林老师带你学编程
2018/01/03
2.2K0
HTML5+CSS3+JavaScript从入门到精通-21
HTML5+CSS3+JavaScript从入门到精通 作者:王征,李晓波 第二十一章 JavaScript的框架库jQuery 案例 21-01 jQuery的使用 <!DOCTYPE html> <!--web21-01--> <!-- $("#h01"), #后接的是id,要加引号 --> <html> <head> <meta charset="utf-8" /> <title>jQuery的使用</title> <script src="jquery-1
qiqi_fu
2021/12/06
3.1K0
HTML5+CSS3+JavaScript从入门到精通-21
WEB入门之十四 jQuery事件
JavaScript是事件驱动型的编程语言,即JavaScript和HTML之间的交互是通过用户和浏览器操作页面时触发的事件来驱动进行的。使用传统的JavaScript就能处理这些交互,但是jQuery增加并扩展了JavaScript事件处理机制,使其使用起来更加优雅和灵活。本章我们重点讲解jQuery中的各种事件以及事件的绑定。
张哥编程
2024/12/17
2710
WEB入门之十四   jQuery事件
相关推荐
双击事件(dblclick)时,不触发鼠标按下(mousedown) 动作事件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验