簡體   English   中英

單擊的li上的addEventListener-如果單擊li內部的鏈接,則防止此情況

[英]addEventListener on clicked li - prevent this if a link is clicked that is inside the li

我在單擊的列表項上有一個addEventListener。 如果單擊列表項中的鏈接,我想阻止此addEventListener。

http://jsfiddle.net/8xea1eku/-因此在此示例中。 如果this是一個單擊的鏈接,我想防止切換操作。 我該怎么辦?

<div class="faq">
    <ul>

        <li>
            asdasdasdasdaa
            <span class="answer">
                <a href="http://google.com">clickme</a> jdiajdoi asjdoiaj sdoiaj odsjaso djaosdj oaisjdo.
            </span>
        </li>

        <li>
            asdasd
            <span class="answer">
               sadoia hdoas jdiajdoi asjdoiaj sdoiaj odsjaso djaosdj oaisjdo
            </span>
        </li>


        <li>
            asdasdasdasd
            <span class="answer">
               sadoia hdoas jdiajdoi asjdoiaj sdoiaj odsjaso djaosdj oaisjdo
            </span>
        </li>

    </ul>

</div>

if (document.getElementsByClassName('faq').length > 0) {

    var faqItems = document.querySelectorAll('.faq li');
    for (var i = 0; i < faqItems.length; i++) {

        faqItems[i].addEventListener('click', function () {
            this.classList.toggle("active");
        });

    }

}

使用事件對象查看單擊的內容。

    faqItems[i].addEventListener('click', function (e) {
        if (e.target.nodeName==="A") return;
        this.classList.toggle("active");
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM