写一个js的 input 防抖函数
时间: 2024-04-18 20:28:25 浏览: 163
前端的js防抖代码示例
当用户在输入框中连续输入时,可以使用防抖函数来避免频繁触发事件。下面是一个简单的实现示例```javascript
function debounce(func, delay) {
letId;
return function (...args) {
clearTimeout(timerId);
timerId = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
```
这个防抖函数接受两个参数:`func` 是要执行的函数,`delay` 是延迟时间(毫秒)。它返回一个新的函数,在延迟时间内只会执行一次 `func` 函数。
你可以将该函数应用于输入框的事件处理程序,如下所示:
```javascript
const inputElement = document.querySelector('input');
inputElement.addEventListener('input', debounce(handleInput, 300));
function handleInput(event) {
// 处理输入事件的逻辑
}
```
在这个例子中,`handleInput` 函数将会在用户输入完成后的 300 毫秒内只执行一次。
阅读全文