특정 div를 클릭하면 메뉴가 표시되는 함수를 만들어야합니다. 그런 다음 특정 div를 제외하고 사용자가 웹 사이트의 아무 곳이나 클릭하면 숨길 필요가 있습니다. 예를jQuery 하나의 요소가 작동하지 않는 것을 모두 선택합니다.
<div class="showMeHideMe" style="display:none;">Example</div>
<div class="showIt">Show it!</div>
그리고 내 자바 스크립트를
jQuery('.showIt').click(function(){
$('.showMeHideMe').show();
});
jQuery(document).not('.showMeHideMe').click(function(){
$('.showMeHideMe').hide();
});
내가 everyting가 제대로 작동하고 .showMeHideMe가 표시되고, .showIt 클릭하면
. 그런 다음 페이지의 아무 곳이나 클릭하면 .showMeHideMe이 (가) 숨어 있습니다. 또한 OK. 그러나 그것이 보여지고 내가 .showMeHideMe를 클릭하면, 그것은 스스로 숨 깁니다. 어떤 잘못입니다.내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?
UPDATE는 매우 빠른 답변 주셔서 감사합니다.
수정해야 할 페이지에 정확하게 표시하는 것이 좋습니다. 이제 내 코드는 다음과 같습니다과 함께이 또한
jQuery(".search--box").hide();
jQuery(".desktop-search").mouseenter(function (e) {
e.stopPropagation();
jQuery(".search--box").show();
jQuery(".search--box--input").focus();
});
jQuery(document).not('input.search--box--input').click(function (e) {
e.stopPropagation();
jQuery(".search--box").hide();
});
변형을 처리해야
<div class="search--box">
<div class="search--box-inner">
<form role="search" method="get" id ="searchform" action="">
<input class="search--box--input" name="s">
</input>
</form>
</div>
</div>
그리고 자바 스크립트 : 대신이 아니요의() 작동하지 않습니다 없음. 여전히 입력을 클릭하면 여전히 숨어 있습니다.
는 사실, 내가 사업부가 표시되고 그 문제를 가지고 있겠지을 위해 사용할 수 있습니다. 하지만 하나의 특정 div를 제외하고 아무것도 클릭하면 숨기기 트리거를 실행해야합니다. –