JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
程序员文章站
2022-10-26 20:00:52
本文实例讲述了js实现同一dom元素上onclick事件与ondblclick事件并存的解决方法。分享给大家供大家参考,具体如下:
最近项目中遇到了在同一dom元素上需要...
本文实例讲述了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事件与功能说明大全:
更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript事件相关操作与技巧大全》、《javascript页面元素操作技巧总结》、《javascript操作dom技巧总结》、《javascript查找算法技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript错误与调试技巧总结》
希望本文所述对大家javascript程序设计有所帮助。