특정 영역을 제외한 부분을 클릭했을 때 이벤트를 발생시켜야 할 때가 있다. 그때는 다음과 같이 하면 된다.
즉 특정 영역에 class명을 부여하고 클릭한 곳에 그 클래스명이 없으면 이벤트를 발생시키는 로직입니다.
mouseup 이벤트를 이용해서, 생성된 DIV 팝업 창의 외부 영역을 클릭했을 때, 해당 DIV 창의 옵션을 변경함으로써 팝업을 숨긴다.
열정과 게으름 사이자바스크립트 특정 영역 외 클릭하면 닫기 본문자동재생 슬라이드가 있어서 이벤트 객체가 중복되서 찾아졌다. 그래서 먼저 제외하는 작업부터 해줬다.
event.target 은 이벤트가 일어난 요소를 반환하고. event.currentTarget 은 이벤트가 바인딩되어 있는 요소를 반환한다. 안녕하세요 영니입니다😎 레이어팝업을 구현하다보면 가끔 팝업 외에 부분을 클릭했을때 레이어팝업이 닫히도록 구현 요청이 들어오는데! 그때 제가 사용하는 코드입니다. 클릭한 html 내의 target이 특정 class를 가지고 있는지 hasClass로 여부를 체크해 ✔ 그 상황에만 이벤트가 일어나도록 하는 코드입니다.
하다보면 hasClass로는 구현하지 못하는 팝업도 있는데 그때 또 제가 다르게 사용하는 코드는 아래와 같습니다. 특정 부모의 자식이 맞는지 체크하여 이벤트를 실행 하는 겁니다!
간단한 코드지만 유용하게 잘 쓰고 있는 코드라 공유해봅니다🤟🏻 이 게시물은 JavaScript 및 jQuery에서 사용자가 페이지 외부의 아무 곳이나 클릭하는 경우 div 컨테이너를 숨기는 방법에 대해 설명합니다. jQuery를 사용하면 클릭한 요소가 컨테이너 자체 또는 div 요소의 자손이 아닌 경우 문서의 클릭 이벤트에 바인딩하고 div 컨테이너를 숨길 수 있습니다. 이것은 jQuery를 사용하여 다음과 같이 구현할 수 있습니다. jQuery
HTML
JSFiddle에서 편집 jQuery
HTML
JSFiddle에서 편집 2. JavaScript 사용하기여기에서 아이디어는 페이지에서 클릭 이벤트를 감지하고 클릭의 대상이 div 하위 항목 중 하나가 아닌 경우에만 컨테이너의 표시를 없음으로 설정하는 것입니다. JS
HTML
JSFiddle에서 편집 JavaScript 및 jQuery에서 외부를 클릭할 때 div를 숨기는 것이 전부입니다. 읽어 주셔서 감사합니다. 우리의 온라인 컴파일러 C, C++, Java, Python, JavaScript, C#, PHP 및 기타 널리 사용되는 프로그래밍 언어를 사용하여 주석에 코드를 게시합니다. 우리처럼? 우리를 친구에게 소개하고 우리가 성장할 수 있도록 도와주세요. 행복한 코딩 :) |