아니요, 이것은 곧장 앞으로 전환되는 질문이 아닙니다. 나는 toggle() 함수와 단순히 div를 숨기거나 표시하는 방법을 알고있다. 내부 레이블 상자를 상상해 : 당신이 전체 사업부의 아무 곳이나 클릭하면 수업 hidden
를 제거해야jQuery - div 클래스를 클릭시 토글
<div class="section hidden">
<div class="section-legend">My Section</div>
</div>
. 상자가 펼쳐집니다. 상자가 클래스 hidden
이 아니므로 클릭 할 수 없습니다.
대신 을 클릭하면 hidden
클래스를 주 div에 다시 추가해야합니다. 분명히 범례의 click 이벤트는 stopPropagation()을 필요로합니다. 이제 범례를 더 이상 클릭 할 수 없어야하며 다시 한번 전체 div를 클릭하여 열어야합니다.
내가 제대로 작동하려면 아무것도 얻을 수 없다, 나는이 바보 같은 코드를 알고 :
$(document).ready(function() {
$('.section.hidden').click(function() {
$(this).removeClass('hidden');
$(this).find('.section-legend').click(function(e) {
$(this).parent().addClass('hidden');
e.stopPropagation();
});
});
$('.section-legend').click(function(e) {
$(this).parent().addClass('hidden');
e.stopPropagation();
$(this).parent().click(function() {
$(this).removeClass('hidden');
});
});
});
사람들은 항상 원하는과 게으른 받고있는 HTML이 자바 스크립트를 추가 jsfiddle .. – Ben
div.hidden 여전히 어떻게 든 볼 수 있습니까? 나는 그것이 정말로 '숨겨져 있다면'클릭 할 수있는 방법이 무엇인지 확신 할 수 없다. – Ben
숨겨진 것이 아니라 숨겨진 섹션의 클래스 이름이다. 더 많은 의미가 있다는 것을 의미하는 몇 가지 다른 코드가 있습니다.하지만 여기서는 어떻게 혼란스럽게 보일 수 있습니다. – BadHorsie