JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法


Posted in Javascript onJune 07, 2018

本文实例讲述了JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法。分享给大家供大家参考,具体如下:

最近项目中遇到了在同一DOM元素上需要添加 onclick 和 ondblclick 2个事件,如果按照正常的方式添加处理,结果发现只会执行 onclick,而不会执行 ondblclick;这时我们需要对2个事件的处理函数稍作处理就可以实现2个事件并存了,代码如下:

<script type="text/javascript">
 var clickTimer = null;
 function _click(){
   if(clickTimer) {
     window.clearTimeout(clickTimer);
     clickTimer = null;
   }
   clickTimer = window.setTimeout(function(){
      // your click process code here
      alert("你单击了我");
   }, 300);
 }
  function _dblclick(){
   if(clickTimer) {
     window.clearTimeout(clickTimer);
     clickTimer = null;
   }
   // your click process code here
   alert("你双击了我");
 }
</script>
<button onclick="_click();" ondblclick="_dblclick();">单击或双击我</button>

处理思想就是:利用定时器延迟执行onclick事件,这样在双击过程中会取消中途触发的单击事件。

PS:关于javascript事件说明可参考本站javascript事件与功能说明大全:http://tools.3water.com/table/javascript_event

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JSQL  一个 web DB 的封装
May 05 Javascript
js复制到剪切板的实例方法
Jun 28 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
Oct 19 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
Mar 04 Javascript
jQuery轮播图效果精简版完整示例
Sep 04 Javascript
JS出现失效的情况总结
Jan 20 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
详解Eslint 配置及规则说明
Sep 10 Javascript
layui 弹出层回调获取弹出层数据的例子
Sep 02 Javascript
JavaScript获取某一天所在的星期
Sep 05 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
Jul 26 Javascript
Ajax实现异步加载数据
Nov 17 Javascript
JavaScript事件委托原理与用法实例分析
Jun 07 #Javascript
Angular5中调用第三方库及jQuery的添加的方法
Jun 07 #jQuery
JavaScript深拷贝和浅拷贝概念与用法实例分析
Jun 07 #Javascript
AngularJS 前台分页实现的示例代码
Jun 07 #Javascript
浅谈PDF.js使用心得
Jun 07 #Javascript
vue better scroll 无法滚动的解决方法
Jun 07 #Javascript
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 #Javascript
You might like
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
jquery等待效果示例
2014/05/01 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
深入理解vue中的$set
2017/06/01 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
以windows service方式运行Python程序的方法
2015/06/03 Python
pandas值替换方法
2018/07/10 Python
python 实现任务管理清单案例
2020/04/25 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
HTML5标签大全
2016/11/23 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
Java里面有没有全局变量?为什么?
2015/02/06 面试题
临床医学专业学生的自我评价分享
2013/11/21 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
Redis分布式锁的7种实现
2022/04/01 Redis