本文实例讲述了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事件,这样在双击过程中会取消中途触发的单击事件。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
如何在项目中使用js事件委托
从零开始操作微信小程序登录鉴权
以上就是onclick事件与ondblclick事件并存使用详解的详细内容。
