当双击时,除了触发双击,也会会默认发生了两次单击。所以,这篇小短文就是解决一下这个事情。(思路也是听老师说的,当时只说了一种,如果有其他的欢迎补充,我整理一下,顺便复习)
<body>
<div class="mydiv">点击</div>
<script>
let mydiv = document.querySelector('.mydiv')
mydiv.addEventListener('click', fn1);
mydiv.addEventListener('dblclick', fn2);
let single = 0;
function fn1() {
if(single){
clearTimeout(single);
single=0;//清除定时器时也要让single=0;否则双击过后,下一次单击时single为true
return;
}
single = setTimeout(function () {
console.log('单击')
single=0;
}, 300)
}
function fn2() {
console.log('双击')
}
</script>
</body>