JavaScript Indexing

settings_applicationsEventTarget  >   settings_applicationsWindow  >   settings_applicationswindow

{object_name}

Event Handlers

이벤트 핸들러(event handler)는 지정된 대상에게 이벤트 발생시 실행할 함수를 지정하는 것을 말한다. 일종의 객체의 프로퍼티이며 이 프로퍼티에 함수를 대입하는 것과 동일하다. 이때 함수를 보통 핸들러(handler)라고 부르기도 한다.

이벤트 핸들러는 프로퍼티에 값을 대입하는 방식이다보니 이벤트 등록 대상에게 동일한 이벤트 타입으로 다른 함수를 지정해서 동시에 함수를 실행하게 할 수 없다. 늘 사용하는 패턴은 아니지만 만약에 동일한 이벤트 타입에 서로 다른 함수를 실행시키고 싶다면 이벤트 리스너(event listener) 방식으로 이벤트를 등록해야 한다.

이벤트 핸들러가 사용가능하다면 이벤트 리스너 방식도 지원하므로 구현하고자 하는 방향에 따라 적절하게 사용하면 된다.

  • Standards

    Window 객체에 대한 DOM 표준 사양 문서에 정의한 이벤트 핸들러를 나타낸다.

    • onafterprint

      문서가 인쇄를 시작하거나 인쇄 미리보기가 닫힌 후에 발생한다.

    • onbeforeprint

      문서가 인쇄되거나 인쇄를 위해 미리보기가 될 때 발생한다.

    • onbeforeunload

      window, document, resources가 unload되려고 할 때 발생한다.

    • onblur

      활성된 window에서 비활성으로 변경되는 경우 발생한다.

    • onerror

       window에서 사용할 리소스 로드에 실패했거나 사용할 수 없는 경우 발생한다.

    • onfocus

      비활성된 window에서 활성으로 변경되는 경우 발생한다.

    • onhashchange

      URL의 조각 식별자(hash)가 변경되면 발생한다.

    • onlanguagechange

      사용자의 기본 언어가 변경될 때 발생한다.

    • onload

      window에서의 load 이벤트는 HTML 문서가 웹브라우저에서 해석이 완료되는 시점에 발생한다.

    • onmessage

      window.postMessage()를 호출하여 창이 메시지를 받았을 때 발생한다.

    • onmessageerror

      역직렬화를 할 수 없는 메시지를 수신할 때 window에서 발생한다.

    • onoffline

      웹브라우저가 네트워크에 대한 액세스 권한을 잃고 Navigator.onLine 값이 false로 전환되면 발생한다.

    • ononline

      웹브라우저가 네트워크에 액세스하고 Navigator.onLine의 값이 true로 전환되면 발생한다.

    • onpagehide

      세션 기록과 다른 페이지를 표시하는 과정에서 웹브라우저가 현재 페이지를 숨기면 발생한다. 예를 들어서 사용자가 웹브라우저의 뒤로가기 버튼을 클릭하면 이전 페이지가 표시되기 전에 현재 페이지에서 페이지 숨기기 이벤트를 수신한다.

    • onpageshow

      세션 기록 항목에 의해서 페이지가 보여질 때 발생한다.

    • onpopstate

      사용자가 세션 기록을 탐색하는 동안 활성 기록 항목이 변경되면 발생한다.

    • onrejectionhandled

      Promise가 거부될 때 명시된 거부를 처리 후 전역(Window, Worker) 스코프로 전송된다.

    • onresize

      창(window) 크기가 변경될 때 발생한다. 일반적으로 뷰포트 크기 변경이 있는 경우 발생한다.

    • onstorage

      저장 영역(localStorage 또는 sessionStorage)이 다른 문서의 컨텍스트에서 수정되면 발생한다.

    • onunhandledrejection

      프로미스(promise)가 거부될 때 명시된 핸들러가 없는 경우 전역(Window, Worker) 컨텍스트(context)로 전송한다.

    • onunload

      문서나 하위 리소스가 언로드(unload)일 때 발생한다.

  • Extended

    • onscroll

      요소가 스크롤 될 때 발생한다.

    • onscrollend

      스크롤이 완료되면 VisualViewport, Document 또는 Element에서 발생한다.

지원 웹브라우저