Korean_hamster
지현의 개발자 성장과정
Korean_hamster
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Front-End Developer (79)
      • Project (12)
      • HTML (8)
      • CSS (17)
      • Computer Science (9)
      • JavaScript (20)
      • React (13)
    • 이런저런 생각 (7)
    • 주간 성장회고 (24)
    • English (0)
    • 리뷰 (2)
    • Books (5)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • 멋쟁이사자처럼
  • flex
  • 면접관님
  • 비전공개발자
  • 프론트앤드
  • fetch
  • 비전공자개발자
  • AtomicHabits
  • js
  • CS
  • 반응형웹
  • 멋사
  • HTML
  • 리액트
  • 깃
  • sass
  • 프론트앤드스쿨
  • 라우터
  • CSS
  • 깃헙

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Korean_hamster

지현의 개발자 성장과정

Front-End Developer/JavaScript

이벤트를 딱 한번만 일어나게 하고싶을 때 - 자바스크립트 DOM 꿀팁

2022. 7. 17. 01:57

자바스크립트에서 콜백이벤트가 딱 한번만 일어나게 하고싶을 때 사용할 수 있는 꿀팁!

바로 이벤트리스너의 세번째 인자값으로 once 옵션을 추가해주면 된다.

 

  document.body.addEventListener('click', () => {
    console.log('I run only once! 😇');
  }, { once: true });

기본값은 false로 지정되있어, 클릭될 때마다 이벤트가 항상 일어난다.

once: true로 지정해주면 처음 이벤트가 일어났을 때에만 콜백함수가 실행된다.

 

 

혹은 이벤트가 일어났을 때 해당 이벤트를 remove해주는 함수를 만들어줄 수도 있다. 

근데 once옵션이 너무 간단하니까~ 그걸 쓸 듯?

  document.body.addEventListener('click', cb);

  function cb() {
    console.log('Hi! 👋');
    document.body.removeEventListener('click', cb);
  }

 

참고자료

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

 

EventTarget.addEventListener() - Web APIs | MDN

The addEventListener() method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.

developer.mozilla.org

 

저작자표시 (새창열림)

'Front-End Developer > JavaScript' 카테고리의 다른 글

Promise/fetch 텍스트파일에 있는 텍스트는 어떻게 가져올건데?  (2) 2022.06.23
JavaScript sort() not working | sort()가 안될 때  (0) 2022.06.01
JS로 생성한 요소 for문으로 HTML에 붙여주기  (0) 2022.05.31
for 반복문으로 코드 n배 절약해보기 + 이벤트버블링  (0) 2022.05.28
(JS기초)변수의 할당, 선언, 범위  (0) 2022.05.22
    Korean_hamster
    Korean_hamster
    Keep pushing myself to the limits

    티스토리툴바