๋””๋ฐ”์šด์‹ฑ(Debouncing)

๐Ÿ“„ ๋””๋ฐ”์šด์‹ฑ(debouncing)

  1. ์ด๋ฒคํŠธ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ํŠน์ •์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„ ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ๋งŒ ๋ฐœ์ƒํ•˜๋„๋ก ํ•˜๋Š” ๊ธฐ์ˆ 
  2. ์—ฐ์ด์–ด ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋“ค ์ค‘ ๋งˆ์ง€๋ง‰ ํ•จ์ˆ˜(๋˜๋Š” ์ œ์ผ ์ฒ˜์Œ)๋งŒ ํ˜ธ์ถœํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ

๋””๋ฐ”์šด์‹ฑ ๊ธฐ์ˆ ๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š”

j ja jav java

์ฒ˜๋Ÿผ ํ‚ค์›Œ๋“œ ํ•˜๋‚˜ํ•˜๋‚˜ ์ธ์‹ํ•ด์„œ ํ‚ค์›Œ๋“œ ํ•˜๋‚˜์— ๋งค๋ฒˆ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ์ผ์ด ์—ฌ๋Ÿฌ๋ฒˆ์˜ ์š”์ฒญ์ด ์žˆ์„๋•Œ ์ตœ์ข…(ํ˜น์€ ์ฒ˜์Œ) ์š”์ฒญ์˜ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๋งŒ ๋‚ด๋†“๊ฒŒ ํ•˜๋Š”๊ฒŒ ๋””๋ฐ”์šด์‹ฑ์ž…๋‹ˆ๋‹ค.

var timer;
document.querySelector("#input").addEventListener("input", function (e) {
  if (timer) {
    clearTimeout(timer);
  }
  timer = setTimeout(function () {
    console.log("์—ฌ๊ธฐ์— ajax ์š”์ฒญ", e.target.value);
  }, 200);
});
  • ํƒ€์ž๋ฅผ ์น  ๋•Œ(input ์ด๋ฒคํŠธ ๋ฐœ์ƒ)๋งˆ๋‹ค ํƒ€์ด๋จธ๋ฅผ ์„ค์ •ํ•œ๋‹ค.
  • 200ms๋™์•ˆ ์ž…๋ ฅ์ด ์—†์œผ๋ฉด ์ž…๋ ฅ์ด ๋๋‚œ ๊ฒƒ์œผ๋กœ ํ•œ๋‹ค. (์‹œ๊ฐ„ ์ž์œ  ์„ค์ • ๊ฐ€๋Šฅ)
  • 200ms ์ด์ „์— ํƒ€์ž ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ด์ „ ํƒ€์ด๋จธ๋Š” ์ทจ์†Œํ•˜๊ณ  ์ƒˆ๋กœ์šด ํƒ€์ด๋จธ๋ฅผ ๋‹ค์‹œ ์„ค์ •ํ•œ๋‹ค.

์ถœ์ฒ˜

Leave a comment