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 相关文章推荐
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
Mar 24 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
Oct 24 Javascript
用循环或if语句从json中取数据示例
Aug 18 Javascript
关于session和cookie的简单理解
Jun 08 Javascript
原生JS实现匀速图片轮播动画
Oct 18 Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 Javascript
JavaScript enum枚举类型定义及使用方法
May 15 Javascript
小程序实现背景音乐播放和暂停
Jun 19 Javascript
jquery插件实现搜索历史
Apr 24 jQuery
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
原生JS实现分页
Apr 19 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新手上路(四)
2006/10/09 PHP
php $_ENV为空的原因分析
2009/06/01 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
常用PHP框架功能对照表
2014/10/23 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
金融专业应届生求职信
2013/11/02 职场文书
求职面试个人自我评价
2014/02/28 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
禁毒宣传标语
2014/06/19 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
护理工作心得体会
2016/01/22 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
Redis基本数据类型String常用操作命令
2022/06/01 Redis