2016-09-27 31 views
1

我有一個Bootstrap模式,我想更新啓動模式的按鈕的外觀。當新按鈕啓動模式時,'relatedTarget'似乎不會更新。Bootstrap模式:event.relatedTarget(不更新)

Here's the Codepen

重現該問題:

  1. 點擊第一個按鈕啓動模式。使用單選按鈕將類應用於按鈕。關閉模式。
  2. 點擊第二個按鈕啓動模態。使用單選按鈕將不同的課程應用於第二個按鈕。關閉模式。

[問題]:兩個按鈕都獲得相同的類別。第一個按鈕也會改變顏色。

$('#myModal').on('show.bs.modal', function (e) { 

    var origin = $(e.relatedTarget); 

    $("#modalButton").click(origin, updateButton); 
    function updateButton (event) { 
     var color = $('input[name="radio_color"]:radio').filter(':checked').val() 
     var origin = event.data; 
     origin.removeClass('blue').removeClass('red').addClass(color); 
     $('#myModal').modal('hide'); 
    } 
}); 

非常感謝您的任何幫助解決。

回答

1

那是因爲你還沒有綁定您以前的單擊事件(因此他們只能堆積起來 - 這樣的第二次點擊就會觸發兩個事件 - 新一和以前綁定一個)

補充一點:

$("#modalButton").off('click'); 

綁定之前新的點擊,它應該解決您的問題

Updated Pen

+0

謝謝 - 我永遠不會發現SOLU我自己的! –

+0

不客氣,很高興我能幫忙:) – Pete