代码展示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>防抖</title> </head> <body> <input type="text"> <script> const input = document.querySelector('input') input.oninput = debounce(function () { console.log(this.value); }, 500) function debounce(fn, delay) { let timer; return function () { if (timer) { clearTimeout(timer) } timer = setTimeout(() => { // console.log(this); fn.call(this) }, delay) } } </script> </body> </html>
成果展示: