900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > js区分单击双击 双击不会触发单击事件

js区分单击双击 双击不会触发单击事件

时间:2024-01-20 16:08:41

相关推荐

js区分单击双击 双击不会触发单击事件

如果一个按钮,单击触发的事件跟双击触发的是不同的业务,那么这里介绍的就是如何处理双击的过程中不触发单击事件的方法

<html><meta charset="UTF-8" /><button onclick="testClick()" style="width: 150px;">tapMe1</button></html><script>var funcTap = function() {console.log("tap")}var funcDoubleTap = function() {console.log("doubleTap")}var diffTapAndDbTap = (function() {var firstTap = 0;var tapLock = 0;var exeDbTap = 0;return function(funcTap, funcDoubleTap) {if(1 == exeDbTap) { //如果双击事件执行过,那么重置所有状态位firstTap = 0;tapLock = 0;exeDbTap = 0;}if(firstTap == 0) { //0代表单击状态位firstTap = 1;setTimeout(function() {if(tapLock == 0) { //单击没有被锁住,则执行单击事件funcTap();}firstTap = 0;}, 500)return;}if(firstTap == 1) { //1代表单击状态位tapLock = 1; //锁住单击事件funcDoubleTap();exeDbTap = 1; //表示双击事件已经执行过}}})()var testClick = function() {diffTapAndDbTap(funcTap, funcDoubleTap);}</script>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。