问题描述
页面元素既绑定单击事件同时绑定双击事件,然而双击的时候还是会触发单击事件,所以要在双击的时候屏蔽单击事件。
解决办法
利用定时器延迟事件处理函数的执行,如果双击则取消单击事件处理函数的执行,仅执行双击事件
HTML
<button id="btn">点击测试</button>
JS
const btn = document.querySelector("#btn"),
timer;
btn.addEventListener('click',()=>{
clearTimeout(timer);
timer = setTimeout(()=>{
clearTimeout(timer);
cosnole.log('执行单击事件.
页面防抖与节流技术解析

本文介绍了页面中防抖和节流的概念及其应用场景。为了解决元素单击和双击事件冲突,通过防抖技术可以延迟事件处理函数执行,避免在双击时触发单击事件。此外,防抖常用于搜索输入框联想功能,用户停止输入后发送请求,减少性能浪费。而节流则是周期性执行回调函数,避免频繁触发事件,如页面滚动事件中的性能优化。
最低0.47元/天 解锁文章
202

被折叠的 条评论
为什么被折叠?



