나는 당신을 위해 무엇을 찾고있는 것은 아마 event.stopPropagation()
가 여기에 문서의 생각 <li>
에 포함되어 있기 때문에 click 이벤트도 트리거됩니다. 이 과정을 자식에서 부모로 진행하는 것을 이벤트 버블 링이라고합니다. event.stopPropagation()을 사용하여 중지 할 수 있습니다.
의 당신은 HTML 구조과 같이 가정 해 보자 또한
<ul>
<li class="reveal">One<br />
<a href="http://www.google.com" target="_blank">Google</a>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
<li class="reveal">Two<br />
<a href="http://www.google.com" target="_blank">Google</a>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
<li class="reveal">Three<br />
<a href="http://www.google.com" target="_blank">Google</a>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
</ul>
, 우리는 당신이 CSS 규칙이 있다고 말할 것이다 :
ul ul { display: none; }
이 jQuery를 적용을, 당신은 얻을해야 당신이 찾고있는 결과 :
$(function() {
$('.reveal').click(function() {
$(this).children('ul').slideToggle();
});
$('.reveal a').click(function(event) {
event.stopPropagation();
});
});
여기에 행동이의 라이브 데모는 다음과 같습니다 http://jsfiddle.net/PaxTg/
어린이 UL 표시/숨기기 코드를 추가하십시오. – davehauser
안녕 데이브, 주석 주셔서 감사합니다, 그래 내가 작업 그것을 가지고 :) 있음을 했어야 : ('# DD 형식의 A') $ 클릭 (함수 (전자) {\t \t e.stopPropagation();. }}); – jasonflaherty