2012-10-17 4 views
0

드롭 다운 텍스트 영역에이 코드 조각이 있습니다. 목표는 체크 박스가 클릭되었을 때 div.card를 보이거나 숨길 수있게하는 것입니다.하지만이 방법은 div.card를 클릭하면 스스로 숨길 수 있습니다. 어떻게 이런 일이 일어나지 않도록 할 수 있습니까?Jquery 클릭이 더 많은 div에 영향을 미침

$('.card').click(function(e) { 
    e.stopPropagation() 
}); 

또는, 당신은 할 수 :이

$('.options .checkbox').click(function(){ 
    $('.options .card').toggleClass("hidden").toggleClass("show"); 
}); 

HTML 당신은 부모까지 버블 링에서 클릭 이벤트를 방지 할 수 있습니다이

<label> 
Label description 
<strong> 
    + € 0,50 
</strong> 
<input class="checkbox" type="checkbox"> 
    <div class="card hidden"> 
     <textarea> 
     </textarea> 
    </div> 
</label> 

답변

2

모양처럼

jQuery를 본다 대상 요소가 실제로 후일 것임을 확인하십시오 :

$('.options .checkbox').click(function(e) { 
    if (!$(e.target).hasClass('checkbox')) return false; 

    $('.options .card').toggleClass("hidden").toggleClass("show"); 
}); 
+0

나는 그 일을해야하지만, 두 코드는 여전히 같은 문제를 안고있다. 이것에 대한 다른 가능한 이유는 무엇입니까? –

+0

카드에 연결된 이벤트 처리기가 있습니까? – Blender

+0

이것은 사이드 바 높이 기능을 제외하고 현재이 사이트와 관련하여 사용하고있는 유일한 jquery입니다. 그래서 아니오, 게시 한 코드 –

관련 문제