2013-03-25 5 views
0

다음 코드와 jsFiddle 링크가 있습니다. 내 머리에서 내 코드가 작동해야합니다, 그것은 올바른 li 태그를 발견하고 기본 동작을 사용하지 못하게합니다. 문제는 그것이 자식 요소에도 반복해서 발생하지 않아야한다는 것입니다. 좀 밝게 해주시겠습니까?preventDefault가 자식 li에 반복적으로 발생하지 않을 때

http://jsfiddle.net/andyjh07/6HAvV/

HTML :

<ul id="nav"> 
    <li class=""><a href="home.htm">Home</a> 
    </li> 
    <li class="nav_parent"><a href="our-projects.htm">Our Projects</a> 
     <ul class="nav_child"> 
      <li class=""><a href="the-palms-at-corozal.htm">The Palms At Corozal</a> 
      </li> 
      <li class=""><a href="the-lakes-at-consejo.htm">The Lakes At Consejo</a> 
      </li> 
     </ul> 
    </li> 
    <li class="nav_parent"><a href="about-us.htm">About Us</a> 
     <ul class="nav_child"> 
      <li class=""><a href="who-we-are.htm">Who We Are</a> 
      </li> 
      <li class=""><a href="other-projects.htm">Other Projects</a> 
      </li> 
      <li class=""><a href="partners.htm">Partners</a> 
      </li> 
     </ul> 
    </li> 
    <li class="nav_parent"><a href="about-belize.htm">About Belize</a> 
     <ul class="nav_child"> 
      <li class=""><a href="general-info.htm">General Info</a> 
      </li> 
      <li class=""><a href="investing-in-belize.htm">Investing In Belize</a> 
      </li> 
      <li class=""><a href="useful-links.htm">Useful Links</a> 
      </li> 
     </ul> 
    </li> 
    <li class=""><a href="news.htm">News Articles</a> 
    </li> 
    <li class=""><a href="contact-us.htm">Contact Us</a> 
    </li> 
</ul> 

jQuery를 :

$(document).ready(function() { 
    $('ul#nav li:eq(1)').addClass('removeLink'); 
    $('.removeLink').click(function (e) { 
     e.preventDefault(); 
    }); 
}); 

답변

1

문제는 당신이 li 요소에 결합하고있는 것입니다 아이들은 li 내에 때문에, click 이벤트도 트리거하십시오.

에 한번 업데이트 만 a 요소에 클릭 방지 :

$('.removeLink > a').click(); 

가 여기 updated jsFiddle의를.

+0

너무 가까이에 있었어! 하하. 매우 감사합니다. SO가 나를 허용 할 때이 대답을 수락합니다 :) –

+1

문제가 없으므로 기쁘게 생각합니다. :) – BenM