someElement.addEventListener("mouseup", handleMouseUp, { passive: true } );
- 명시하지 않을 경우의 기본 값은
false
true
일 경우, 이 수신기 내에서preventDefault()
를 절대 호출하지 않을 것임을 나타냄
- 이 값이
true
인데 수신기가preventDefault()
를 호출하는 경우, 사용자 에이전트는 콘솔에 경고를 출력하는 것 외에 아무런 동작도 하지 않음
- Safari와 Internet Explorer를 제외한 브라우저 서
wheel
(en-US),mousewheel
(en-US),touchstart
(en-US),touchmove
(en-US) 이벤트에서의 기본 값은true
- 패시브 수신기로 스크롤 성능 향상
만약 핸들러 내부에
e.preventDefault()
가 존재하여 이를 수행할 경우 메인스레드에서 해당 이벤트 발생시의 기본 동작을 막고 이벤트 핸들러를 수행해야 한다. 하지만 passive
값을 true
로 할 경우 e.preventDefault()
가 핸들러 내부에 존재하지 않는다는 것이 보장되기 때문에 메인스레드의 처리를 기다리지 않고 바로 새로운 프레임을 합성할 수 있게 된다.