티스토리 뷰
addEventListener() 는 웹 요소에 이벤트를 거는것으로 많이 사용된다. 대부분 이런 모습이다.
element.addEventListener('click', doSomething, false);
1번째 인자는 이벤트명이다.
2번째 인자는 콜백 함수로, 이벤트가 발생되면 실행된다.
3번째 인자는 useCapture 라 불리는 불린값으로, 이벤트 버블링이나 캡쳐링을 사용할것인지 나타낸다.
위의 코드는 꽤 익숙하다. 특히 1, 2번째 인자는 모두 아는 내용일 것이다.
하지만 3번째 인자값을 다르게 줄 수 있다는 것은 많이 알려지지 않았다.
새로운 인자는 options 객체로, 이렇게 생겼다 :
element.addEventListener('click', doSomething, {
capture: false,
once: true,
passive: false
});
위 문법은 각기 다른 3개의 속성으로 한정되어있다. 의미를 알아보자 :
- capture - 불린. 위에 언급된 useCapture 와 동일한 인자.
- once - 불린. true 면 이벤트가 딱 한번만 발생됨.
- passive - 불린. true 면 콜백 함수내부에 preventDefault() 가 있다 하더라도 실행되지 않음.
이 중 가장 흥미로운 것은 once 옵션이다.
이것은 removeEventListener() 를 사용하거나, 한번만 실행하기 위해 복잡한 기술을 사용해야 되는 상황을 더 편하게 만들어 준다.
jQuery 를 사용해봤다면 .one() 메소드에 익숙할 것이다.
'javascript > ECMAScript' 카테고리의 다른 글
Javascript : normalize() 와 wholeText 를 이용해 텍스트 노드 다루기 (0) | 2019.07.03 |
---|---|
사용 가능한 ES2019(ES10) 기능 5가지 (0) | 2019.06.24 |
javascript : call, apply, bind 차이 - this의 사용 (7) | 2018.02.06 |
[ECMAScript6] Template Strings, Enhanced Object Literals (0) | 2016.04.15 |
[ECMAScript6] Class 클래스 (0) | 2016.04.15 |
댓글
Kakao 다음웹툰 / 웹표준 및 ft기술, 웹접근성 / 세아이 아빠, 제주 거주 중..
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday