簡體   English   中英

鏈接內的按鈕的click事件觸發兩次

[英]click event fires twice for button inside link

我正在使用引導程序來創建堆疊的葯丸導航控件。 控件中的每個條目都是一個鏈接,並且該鏈接元素還包含一個按鈕。 可以單擊該按鈕以刪除列表條目,或者可以單擊列表條目本身以對其執行一些操作。

每個列表條目的html如下所示:

<li>
    <a href="#" id="launch_me">Some title
        <button class="my-class" id="remove_me">
             <i class="icon-remove"></i>
        </button>

    </a>
</li>

這些項目是根據服務器的響應動態添加的。 然后,jQuery通過以下方式添加點擊處理程序:

$("#launch_me").click((function (info) {
    return function () {
        launch(info);
    };
})(myInfo));

$("#remove_me").click((function (info) {
    return function () {
        remove(info);
    };
})(myInfo));

當我單擊按鈕刪除條目時,將觸發“刪除”單擊例程,然后是啟動例程。

如何做到這一點,所以單擊“刪除”按鈕只會導致運行刪除單擊處理程序?

謝謝!

嘗試這個:

$("#remove_me").click((function (info) {
    return function (e) {
        e.stopPropagation();
        remove(info);
    };
})(myInfo));

http://api.jquery.com/event.stopPropagation/

這將防止“刪除我”按鈕的click事件冒泡到其父級“啟動我”容器並執行其click處理程序。

您之前的版本: http : //jsfiddle.net/HVExt/

在以下位置開采http : //jsfiddle.net/HVExt/1/

MyInfo對我來說似乎很狡猾。 我跳過並添加; 代替。 但是然后我不知道其余的代碼...

暫無
暫無

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

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