다른 개발자가 이전에이 문제를 겪었습니다.큰 프로젝트 전체에서 HTML 클릭 패턴으로 닫습니다.
$('#elm').on('click',function($e){
$e.stopPropagation();
//... do stuff (i.e. Open something);
});
$('html').on('click',function($e){
//... do oposite of stuff (i.e. Close something);
}
우리의 문제는 모든 인 stopPropagation의 사이트에서 다른 구성 요소의 폐쇄를 중지하는 것입니다 : 우리는이 패턴 다음과 같은 많은 구성 요소와 함께 큰 코드베이스가 있습니다. 우리가 정말로 원하는 것은이 컴포넌트의 클릭 핸들러를 차단하는 메커니즘이지만 다른 컴포넌트는 클릭 핸들러를 차단하지 않는 메커니즘입니다.
지금 우리 버그를 수정하고 향후 멀티 개발자 팀이 따라야 할 가장 쉬운 솔루션을 찾고 있습니다. 그들은 문서의 상단에 전파 일단
+1 정말 좋은 아이디어입니다. – pattyd
'$ e.preventDefault();'(http://api.jquery.com/event.preventDefault/)는 필요한 것을할까요? –
불행하게도 브라우저가 일반적으로 취하는 기본 동작 만 중지합니다. 내가 필요한 것은 원래이 요소가 아닌 HTML 요소의 클릭을 감지하는 것입니다. 나는 플러그인을 작성했다 : https://github.com/krismeister/jQuery.notMyEvent 그러나 나는 여전히 사람들이 어떤 기법을 추천하는지에 관심이있다. – LessQuesar