> 웹 프론트엔드 > JS 튜토리얼 > jQuery가 특정 요소 외부의 클릭을 어떻게 감지할 수 있습니까?

jQuery가 특정 요소 외부의 클릭을 어떻게 감지할 수 있습니까?

DDD
풀어 주다: 2024-12-24 07:55:09
원래의
188명이 탐색했습니다.

How Can jQuery Detect Clicks Outside a Specific Element?

jQuery를 사용하여 요소 외부 클릭 감지

대화형 웹 인터페이스를 처리할 때 특정 요소 내의 클릭과 해당 요소 내의 클릭을 구별해야 하는 경우가 많습니다. 경계 밖에서 발생합니다. jQuery의 강력한 기능을 활용하면 이 기능을 손쉽게 구현할 수 있습니다.

시나리오:

해더를 클릭하면 표시되는 HTML 메뉴 세트를 생각해 보세요. 목표는 사용자가 지정된 영역 밖의 아무 곳이나 클릭하면 자동으로 이러한 메뉴를 숨기는 것입니다.

jQuery 솔루션:

이 원하는 동작을 달성하려면 다음을 사용할 수 있습니다. jQuery 코드:

$(window).click(function() {
  // Hide the menus if visible
});

$('#menucontainer').click(function(event){
  event.stopPropagation();
});
로그인 후 복사

이 코드에서는 전체 문서 창에 클릭 이벤트를 연결합니다. 창의 아무 부분이나 클릭하면 메뉴가 현재 표시되는지 확인합니다. 그렇다면 숨깁니다.

그러나 메뉴 컨테이너의 클릭 이벤트가 창의 클릭 이벤트를 트리거하는 것을 방지하기 위해 메뉴 컨테이너에 별도의 클릭 이벤트를 첨부합니다. 이 이벤트는 창 본문에 대한 클릭 이벤트 전파를 중지하여 해당 영역 내에서 메뉴를 클릭해도 메뉴가 계속 표시되도록 합니다.

참고:

stopPropagation을 사용하면 DOM에서 일반적인 이벤트 흐름이 중단될 수 있습니다. 가능하다면 클릭 이벤트를 보다 효과적으로 관리하기 위해 이벤트 위임 또는 "스택" 접근 방식과 같은 대체 방법을 고려하십시오.

위 내용은 jQuery가 특정 요소 외부의 클릭을 어떻게 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿