2009-10-07 3 views
0

임 : 다음 HTML에JQuery와 SlideToggle .click 문제는 다음을 사용하여

$(function() { 
    $(".StaffSubjectClassNav ul").hide(); 
     $('.StaffSubjectClassNav h3').click(function(){ 
     $(this).toggleClass('clicked'); 
     $(this).next('ul').slideToggle('100'); 
    }); 
}); 

: 그것은 완벽하게 작동

<h3><a href="link">Link</a></h3> 
<ul> 
<li>Link1</li> 
<li>Link2</li> 
<li>Link3</li> 
</ul> 

<UL>을 숨기고 나는 <H3> 클릭하면 그것을 보여줍니다.

그러나 <a>들은 <H3> 그것을하지 않습니다 slideToggle 내부 <a>을 클릭하면 있도록 내가 스크립트를 설정하는 방법도 링크입니다?

+0

사용자에게 조금 혼란스럽지 않습니까? – Gumbo

+0

그것은 나를 위해하지 않습니다 - 링크를 클릭하면 IE와 Firefox 모두에서 링크로 이동합니다. 그 외에도 Gumbo에 동의합니다. 유용성의 관점에서 보면 꽤 혼란 스럽습니다. –

+0

실제로 그런 방식으로 제공되지 않습니다. – CLiown

답변

0

ah3을 넣고 조치를 링크에 추가하고 false을 반환하십시오.

JS :

$(function() { 
    $(".StaffSubjectClassNav ul").hide(); 
    $('#h3_link').click(function(){ 
     $(this).toggleClass('clicked'); 
     $(this).next('ul').slideToggle('100'); 
     return false; 
    }); 
}); 

HTML : 예를 들어

<a href="link" id="h3_link"><h3>Link</h3></a> 
<ul> 
    <li>Link1</li> 
    <li>Link2</li> 
    <li>Link3</li> 
</ul> 

당신은 당신의 CSS 조금 변경해야 할 수도 있습니다. 그러나 이것이 올바른 방법입니다. 링크는 H3 태그가 아니라 클릭하도록 의도되었습니다.

+0

'A'요소는 'H3'과 같은 블록 레벨 요소를 자식으로 허용하지 않습니다. – Gumbo