>웹 프론트엔드 >JS 튜토리얼 >어떤 JS 이벤트가 위쪽으로 전파되지 않습니까?

어떤 JS 이벤트가 위쪽으로 전파되지 않습니까?

WBOY
WBOY원래의
2024-02-19 08:17:23894검색

어떤 JS 이벤트가 위쪽으로 전파되지 않습니까?

버블링되지 않는 JS 이벤트는 무엇인가요?

JavaScript에서 이벤트 버블링은 요소가 이벤트를 트리거할 때 이벤트가 문서 루트 노드에 버블링될 때까지 단계적으로 상위 수준 요소까지 버블링되는 것을 의미합니다. 그런 다음 이벤트 핸들러는 버블링된 순서대로 실행됩니다.

그러나 모든 이벤트가 버블링되는 것은 아닙니다. 일부 이벤트는 상위 수준 요소로 버블링되지 않고 트리거된 후 대상 요소에서만 이벤트 핸들러를 실행합니다. 다음은 버블링되지 않는 몇 가지 일반적인 이벤트입니다.

  1. focus 및 Blur 이벤트: 이 두 이벤트는 요소가 각각 포커스를 얻고 포커스를 잃을 때 트리거됩니다. 상위 요소나 상위 수준 요소까지 버블링되지 않습니다.
  2. 변경 이벤트: 입력, 선택 또는 텍스트 영역 요소의 값이 변경될 때 트리거됩니다. 변경 이벤트는 일반적으로 상위 요소에 버블링되지 않지만 프록시 이벤트 핸들러가 사용되는 경우(즉, 이벤트 위임을 통해) 프록시 요소에 버블링될 수 있습니다.
  3. submit 이벤트: 양식 요소의 양식이 제출될 때 트리거됩니다. 제출 이벤트는 상위 요소까지 버블링되지 않지만 양식 요소에 이벤트 핸들러를 바인딩하여 제출 이벤트를 캡처할 수 있습니다.
  4. focusin 및 focusout 이벤트: 이 두 이벤트는 focus 및 Blur와 유사하지만 버블링될 수 있습니다. focusin은 요소가 포커스를 얻었을 때 트리거되고, focusout은 요소가 포커스를 잃으면 트리거됩니다. 이벤트 핸들러의 useCapture 매개변수를 true로 설정하여 버블링을 캡처할 수 있습니다.

위 이벤트는 상위 요소나 상위 요소에는 버블링되지 않지만 창 개체에는 버블링된다는 점에 유의해야 합니다. 따라서 창 개체를 수신하여 이러한 이벤트를 포착할 수 있습니다.

또한 이벤트가 일반적인 버블링 순서대로 전파되지 않는 몇 가지 특별한 경우가 있습니다. 예를 들어, 이벤트 버블링을 방지하기 위해 stopPropagation() 메서드를 사용하는 경우 이벤트는 상위 수준 요소에 더 이상 버블링되지 않습니다.

요약: JavaScript에서는 포커스, 흐림, 변경 및 제출 이벤트를 포함한 일부 이벤트가 상위 요소 또는 상위 수준 요소까지 버블링되지 않습니다. 이러한 버블링되지 않는 이벤트를 이해하는 것은 이벤트를 올바르게 처리하는 데 매우 중요하며 페이지의 대화형 동작을 더 잘 제어하고 관리하는 데 도움이 될 수 있습니다.

위 내용은 어떤 JS 이벤트가 위쪽으로 전파되지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.