最近项目中遇到了在同一DOM元素上须要添加 onclick 和 ondblclick 2个事件,若是按照正常的方式添加处理,结果发现只会执行 onclick,而不会执行 ondblclick;这时咱们须要对2个事件的处理函数稍做处理就能够实现2个事件并存了,代码以下: javascript
<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事件,这样在双击过程当中会取消中途触发的单击事件。