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 22 Javascript
一步一步制作jquery插件Tabs实现过程
Jul 06 Javascript
window resize和scroll事件的基本优化思路
Apr 29 Javascript
js转html实体的方法
Sep 27 Javascript
微信小程序 swiper组件详解及实例代码
Oct 25 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Dec 14 Javascript
利用Node.js+Koa框架实现前后端交互的方法
Feb 27 Javascript
JavaScript代码执行的先后顺序问题
Oct 29 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
async/await地狱该如何避免详解
May 10 Javascript
vue实现文件上传功能
Aug 13 Javascript
详解vue.js移动端配置flexible.js及注意事项
Apr 10 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数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
php计算title标题相似比的方法
2015/07/29 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
网上抓的一个特效
2007/05/11 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
原生js生成图片验证码
2020/10/11 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
Python tkinter事件高级用法实例
2018/01/31 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
python实现爬山算法的思路详解
2019/04/09 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
python 如何将office文件转换为PDF
2020/09/22 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
幼儿园教师培训方案
2014/02/04 职场文书
承诺书的格式范文
2014/03/28 职场文书
党建工作先进材料
2014/05/02 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
教师素质教育心得体会
2016/01/19 职场文书
docker-compose部署Yapi的方法
2022/04/08 Servers