Bootstrap模式:event.relatedTarget(不更新)

时间:2016-09-27 13:11:48

标签: jquery twitter-bootstrap

我有一个Bootstrap模式,我想在其中更新启动模态的按钮的外观。 ' relatedTarget'当新按钮启动模式时,似乎不会更新。

Here's the Codepen

要重现此问题:

  1. 点击第一个按钮启动模态。使用单选按钮将类应用于按钮。关闭模式。
  2. 单击第二个按钮以启动模式。使用单选按钮将不同的类应用于第二个按钮。关闭模式。
  3. [问题]:两个按钮都是同一个类。第一个按钮也会改变颜色。

    $('#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 个答案:

答案 0 :(得分:1)

这是因为你还没有解开你之前的点击事件(因此它们只是堆叠起来 - 所以第二次点击会触发2个事件 - 新事件和之前绑定的事件)

添加:

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

在绑定新点击之前,它应解决您的问题

Updated Pen