[英]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.