HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
💌
JJong’s Archive
/
🌞
JS
/
addEventListener - passive

addEventListener - passive

Status
Done
Tags
날짜
Dec 19, 2023 06:25 AM
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()가 핸들러 내부에 존재하지 않는다는 것이 보장되기 때문에 메인스레드의 처리를 기다리지 않고 바로 새로운 프레임을 합성할 수 있게 된다.