onClick 事件 和 onDblClick 事件并存的解决方法

来源:互联网 发布:美年大健康 知乎 编辑:程序博客网 时间:2024/04/30 07:09
最近项目中遇到了在同一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事件,这样在双击过程中会取消中途触发的单击事件。

转自http://my.oschina.net/jsan/blog/123181

0 0
原创粉丝点击