0

以下のコードとjsFiddleリンクがあります。私の頭の中で私のコードは機能するはずです、それは正しい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();
    });
});
4

1 に答える 1

1

問題は、要素にバインドしていることです。li子は内にあるため、子liもイベントをトリガーしclickます。

更新して、a要素のみをクリックしないようにしてください。

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

これが更新されたjsFiddleです。

于 2013-03-25T10:21:26.823 に答える