在js中和jq中对应的命名都为dblclick,ondblclick,但是ondblclick和dom元素的属性相似,可以在行内设置,也可以使用attr设置。

同时,双击事件需要关注一个问题,那就是双击引起的两次单击问题。鼠标事件,双击和单击发生在如下条件下:

  单击:mousedown, mouseup, click

  双击:mousedown, mouseup, click, mousedown, mouseup, click, dblclick

  可以看到,每触发一次双击事件,就会触发两次单击事件。无论在js还是在jq中,都没有对这个情况做出处理,如果有需要的话,只能你自己解决了,那就是设置延时。

var timer=null;

function clickfunction(){

        clearTimeout(timer);

        timer=setTimeout(function(){//初始化一个延时

                 console.log("1");

                  },250);

}

function dbclickfunction(){

        clearTimeout(timer);//发生双击了就阻止单击引发的操作

        console.log("2");

}

//js方法

var btn1 = document.getElementById('button1');
btn1.addEventListener('click',clickfunction);
btn1.addEventListener('dblclick',dbclickfunction); //jq方法
$('#button2').on('click',clickfunction);
$('#button2').on('dblclick',dbclickfunction);

对于双击事件的判定中,js给双击预留的时间比jq多一些,在js中如果点击慢一点还是会出现一个单击加一个双击的情况,可以给单击延时久一点,但是这样设置的话,会使得单击事件没有那么灵活,而且如果单击还绑定其他监听器甚至涉及父元素的冒泡事件,情况会更加复杂,尽量避免这样给一个元素同时设置单击和双击事件的情况,同样你也可以自己用单击事件和时间戳设置双击事件。

http://www.w3school.com.cn/jsref/event_ondblclick.asp

https://blog.csdn.net/qq_30868289/article/details/79484322

Javascript和jquery事件--双击事件的更多相关文章

  1. JavaScript和JQuery中的事件\委托链\事件冒泡\事件捕获,兼容所有浏览器

    有做过北大青鸟培训讲师经验的我,如今在一家公司做技术部经理的职位,发现有很多程序员的基本功相当糟糕,在组织企业内部培训时讲解了一些案例,总结了一些经典代码,希望对自己和有需要的人提供一些帮助吧: Ja ...

  2. javascript和jquery 移除事件 和 改变样式

    javascript移除事件: document.getElementById("word").onmouseover = null; javascript改变样式: docume ...

  3. javascript和jquery 获取触发事件的元素

    一个很简单的问题,却因为大意,经常忘了处理,导致程序运行出错. <!DOCTYPE html> <html> <head> <meta charset=&qu ...

  4. javascript模拟jQuery封装委托事件,兼容IE

    var $ = function(id){ var dom = document.getElementById(id); return { on:function(eventType,element, ...

  5. jquery双击事件

    <html> <head><meta http-equiv="Content-Type" content="text/html; chars ...

  6. 【Python全栈-JavaScript】jQuery事件

    jQuery事件 一.页面载入 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数. 这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度. 简单地说,这个方法纯粹是对向 w ...

  7. javascript双击事件取消默认的两次单击事件

    当一个元素同时具有单击和双击事件时,双击时会触发2次单击和1此双击事件. 双击会:先第1次单击 ,同时触发第2次和双击事件. 造成的不好影响:每次单击事件会延迟执行. <!DOCTYPE htm ...

  8. jQuery 的ready事件和 JavaScript 的load事件对比

    为了理解2个事件的异同,先了解一下HTML文档加载顺序 HTML DOM文档加载步骤 HTML DOM文档加载是按顺序执行的,这与浏览器的渲染方式有关,一般浏览器渲染操作的顺序大致按如下几个步骤 1, ...

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

    我这是转载的文字 原文地址:http://www.cnblogs.com/wyblog/archive/2011/12/15/2289219.html 万恶的双击事件啊!! 在jQuery的事件绑定中 ...

随机推荐

  1. .js控制一次加载一张图片,加载完后再加载下一张

    js怎么控制一次加载一张图片,加载完后再加载下一张 (1)方法1 (1)方法2

  2. C/C++获取本地时间常见方法

    跨平台方法 方法一:手动暴力法 #include <iostream> using namespace std; #include <time.h> time_t t = ti ...

  3. Onvif开发之代码框架生成篇

    看了前一篇的ONVIF的简单介绍应该对它的基本使用都有了一些基本的了解了吧!下面我讲一步分解向大家介绍下如何通过gsoap生成需要的代码,以及代码中需要注意的问题[基于Linux平台 C开发] 生成O ...

  4. js---对象 和 函数this

    一:对象创建的方法 //普通 字面量形式 var obj = { name:'名字', fn:function(){ console.log(this.name); } } //new 实例 var ...

  5. 51Nod 1006 最长公共子序列Lcs问题 模板题

    给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为:   abcicba abdkscab   ab是两个串的子序列,abc也是,abca也是,其中abca是这两个 ...

  6. kafka删除主题

    hdp集群默认不能删除kafka主题,如果要删除,需要在ambari上进行配置,将enable delete设置为true.

  7. Newtonsoft.json多版本共存

    Newtonsoft.json多版本共存 https://blog.csdn.net/dang13579/article/details/72956684 https://blog.csdn.net/ ...

  8. docker的数据持久化

    挂载宿主机的目录(实现很多容器共用一个宿主卷) [root@localhost ~]# docker run -itd --name web01 -v /var/www/html:/var/www/h ...

  9. TOJ 2233 WTommy's Trouble

    2233.   WTommy's Trouble Time Limit: 2.0 Seconds   Memory Limit: 65536KTotal Runs: 1499   Accepted R ...

  10. POJ 3243 Clever Y Extended-Baby-Step-Giant-Step

    题目大意:给定A,B,C,求最小的非负整数x,使A^x==B(%C) 传说中的EXBSGS算法0.0 卡了一天没看懂 最后硬扒各大神犇的代码才略微弄懂点0.0 參考资料: http://quarter ...