js如何区分单击与双击(如何避免双击的时候触发单击事件)
比如说现在有个功能是单击实现选中,双击实现修改内容 单击成功的标志是改变背景颜色,双击成功的标志是显示输入框 现在如果想修改内容的话,此时双击会同时改变背景颜色,这就不符合要求了,改变背景颜色是不需要的。 这是因为双击同时会触发单击的事件
双击触发了两次单击事件和一次双击事件
如何解决呢 让双击只触发双击事件, --用定时器
首先先来回顾一下防抖和节流 防抖在input输入框的逻辑是这样的(功能大概是这样,解决方案其实有两种 这是其中一种) 需要判断新来的event在不在上一个定时器区间内,如何判断呢,如果定时器执行完了就把timer置为null,判断timer的值就可以。事件触发进入函数,判断如果timer为null就代表不在区间内,开启一个定时器作为周期开始;如果不为null就代表已经有定时器存在了,需要清除上一个定时器,然后再开启一个定时器以此类推
节流的逻辑是这样的 无论触发了多少次事件,在
共有 0 条评论