js双击会进入2次单机,单双击冲突,避免双击进入单机2次方案

前言

js双击会进入2次单机,单双击冲突,避免双击进入单机2次方案。这个问题是很常见的问题,解决也很简单。

思路

只需要在双击的时候把单机事件清理掉就可以了,不过单机要延迟,这个延迟事件是多久呢?经过测试200毫秒有时候还是会双击触发单机,250ms刚刚好。

代码

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>单双击事件测试</title>
</head>
<body>
<button onclick="haoroomstest()" ondblclick="dbclick()">测试</button>

<button id='dom2click'>dom2点击测试</button>
</body>

<script>
    var timeId;
    function haoroomstest() {
        clearTimeout(timeId);
        timeId = setTimeout(function () {
            console.log("进入了单击");
        }, 250);
    }
    function dbclick() {
        clearTimeout(timeId);
        console.log("进入了双击");
    }

    let dom = document.getElementById('dom2click')
    dom.addEventListener('click',()=>{
      clearTimeout(timeId);
        timeId = setTimeout(function () {
            console.log("单击");
        }, 250);
    })
    dom.addEventListener('dblclick',()=>{
      clearTimeout(timeId);
        console.log("双击");
    })
</script>
</html>

更多前端知识,欢迎关注haorooms前端博客

原文:webpack插件开发及修改源码的几种方式

博客:Haorooms博客-前端博客-前端技术,记录web前端开发的技术博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值