내부 클릭 시 드롭다운 메뉴 폐쇄 방지
내부 요소를 클릭할 때 Twitter Bootstrap 드롭다운 메뉴가 닫히지 않도록 방지하려면 위임된 클릭 이벤트 처리가 필요합니다. 자세한 설명과 제안된 솔루션은 다음과 같습니다.
기본적으로 Twitter Bootstrap 드롭다운 메뉴는 메뉴 자체 내에서도 클릭하면 닫힙니다. 이 동작을 극복하기 위한 한 가지 일반적인 접근 방식은 클릭 이벤트 핸들러를 드롭다운 메뉴에 연결하고 event.stopPropagation()을 호출하여 이벤트 전파를 방지하는 것입니다.
그러나 캐러셀 컨트롤과 같은 구성 요소를 활용하는 설정의 경우 위임된 이벤트 Twitter Bootstrap의 처리 메커니즘은 의도한 동작을 방해할 수 있습니다. 이러한 경우 이벤트가 위임된 이벤트 핸들러에 도달하지 않기 때문에 이러한 컨트롤을 클릭하면 예상된 작업이 트리거되지 않을 수 있습니다.
드롭다운 숨기기/숨겨진 이벤트에 의존하는 것은 실행 가능한 대안이 아닙니다. 이러한 이벤트에는 필수 정보가 부족하고 드롭다운 콘텐츠를 제어합니다.
제안된 솔루션
효과적인 솔루션은 드롭다운 메뉴가 포함된 컨테이너 요소에 이벤트 위임을 사용하는 것입니다. 예는 다음과 같습니다.
$(document).on('click', 'someyourContainer .dropdown-menu', function (e) {
e.stopPropagation();
});
이 예에서 지정된 컨테이너 내의 요소를 클릭하면 해당 위임 핸들러에 이벤트가 계속 전파됩니다. 그러나 특히 드롭다운 메뉴에 대한 클릭은 차단되고 event.stopPropagation()은 드롭다운 메뉴의 폐쇄 동작을 방지합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3