代碼爲每個選項卡生成HTML + JS。現在在每個選項卡上,我有2個使用PHP在HTML中生成的按鈕。它還爲使用JQuery的每個按鈕生成Javascript onclick事件。單擊一次即可執行JQuery三個按鈕單擊事件
這是生成每個按鈕jQuery的單擊事件:
<script type="text/javascript">
$(function() {
$(document).on("click", ".mybutton", function(e) {
e.preventDefault();
alert($(this).attr('whoami'));
return false;
});
});
</script>'
現在得到由HTML生成的兩個按鈕具有以下結構:
<button type="button" class="mybutton" whoami="button_1">First Button</button>
<button type="button" class="mybutton" whoami="button_2">Second Button</button>
現在HTML和JS都生成罰款我看到這兩個按鈕罰款,沒有JS錯誤沒有。我可以點擊這兩個按鈕,但這裏是發生了什麼:
當我在第一個按鈕,點擊它會提醒以下幾點:
button_1
button_2
兩個按鈕點擊得到執行,因爲他們有相同的類名。我如何防止兩個按鈕被執行?我只需要點擊按鈕來執行,而不是全部。
我嘗試添加e.stopImmediatePropagation(),這是發生了什麼:
當我在第一個按鈕點擊我得到警報正確只執行button_1點擊,但是當我點擊第二個按鈕,只執行button_1單擊事件而不是button_2。
請幫忙。
注: 的原因,我認爲這兩個執行是因爲有獲得追加到html 2個的JavaScript部分和兩個腳本對click事件上.button,但我不能改變這個代碼我需要以某種方式確保只有點擊的按鈕被執行。