JavaScript

超轻量级php框架startmvc

JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法

更新时间:2020-07-12 15:00:01 作者:startmvc
本文实例讲述了JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法。分享给大家

本文实例讲述了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.jb51.net/table/javascript_event

JS 同一DOM元素 onClick事件 onDblClick事件 并存