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 相关文章推荐
JavaScript开发时的五个注意事项
Dec 08 Javascript
JS 常用校验函数
Mar 26 Javascript
jQuery1.6 类型判断实现代码
Sep 01 Javascript
JS实现1000以内被3或5整除的数字之和
Feb 18 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
Aug 01 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
Nov 27 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
Jan 23 Javascript
vue-router 源码之实现一个简单的 vue-router
Jul 02 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 Javascript
详解关于element el-button使用$attrs的一个注意要点
Nov 09 Javascript
vue配置font-awesome5的方法步骤
Jan 27 Javascript
vue中的mvvm模式讲解
Jan 31 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
global.php
2006/12/09 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
php fread函数使用方法总结
2019/05/28 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
js查找节点的方法小结
2015/01/13 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
详解javascript函数写法大全
2019/03/25 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
python字符串格式化方式解析
2019/10/19 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
戴尔英国官网:Dell英国
2017/05/27 全球购物
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
PHP如何自定义函数
2016/09/16 面试题
大学生创业计划书的格式要求
2013/12/29 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
先进党员事迹材料
2014/12/24 职场文书
初中优秀学生评语
2014/12/29 职场文书
工作表扬信
2015/01/17 职场文书
用python画城市轮播地图
2021/05/28 Python
MySQL 原理与优化之Update 优化
2022/08/14 MySQL