제목을 클릭하여 콘텐츠를 전환하고 있습니다 ....
내가 원하는 것은 콘텐츠가 표시되면 ... 노란색 영역을 클릭하면 토글되지 않도록하는 것입니다. (사용 중이며 li
그대로 유지하고 싶습니다)
$(".liContent").hide();
$(document).on("click","li",function() {
$(this).find(".liContent").toggle();
});
li{margin:5px; border:1px solid red}
.liContent{background:yellow;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<ul>
<li>A <div class="liContent">A Content</div>
</li>
<li>B <div class="liContent">B Content</div>
</li>
</ul>
내가 어떻게 해?
함수 ( e
)에 이벤트 인수를 추가 하면를 사용하여 클릭 한 항목을 타겟팅 할 수 e.target
있습니다. $(this)
핸들러가 바인딩 된 요소 (또는 이벤트 위임의 경우 위임 된 요소 li
) 를 참조 하는와 다릅니다 .
클릭 한 요소가 아닌지 확인하려면 liContent
다음을 사용할 수 있습니다 !$(e.target).is(".liContent")
.
if (!$(e.target).is(".liContent")) {
//.liContent was not clicked
}
$(".liContent").hide();
$(document).on("click", "li", function(e) {
if (!$(e.target).is(".liContent")) {
$(this).find(".liContent").toggle();
}
});
li {
margin: 5px;
border: 1px solid red
}
.liContent {
background: yellow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<ul>
<li>A
<div class="liContent">A Content</div>
</li>
<li>B
<div class="liContent">B Content</div>
</li>
</ul>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다