如何在引导程序对话框上正确触发默认操作?

问题描述:

SO上的大多数答案都是关于如何激活模态对话框或解雇如何工作。如何在引导程序对话框上正确触发默认操作?

但是我发现缺乏的是如何触发默认按钮表示的操作。

例如,

enter image description here

此对话框的默认动作是 '保存'。

下面是HTML标记

<!-- Modal --> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title">Dialog</h4> 
     </div> 
     <div class="modal-body"> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button type="button" id="btn-save" class="btn btn-primary btn-save">Save</button> 
     </div> 
    </div> 
    </div> 
</div> 

如果我打电话$('#myModal).modal('show'),将出现对话框。

如果我点击右上角的十字或“关闭”按钮,对话框将按预期解除。

但是,当我按'保存'时,什么也没有发生。

我用迂回的方式实现它:

这是写在CoffeeScript的。

$('#myModal).on('click', _.bind(@_handleSave, @)) 
$('#myModal).modal('show') 

内。然后_handleSave

_handleSaveProfile: (data) -> 

    return unless data.target.id is 'btn-save' 
    # Do saving 
    # ... 

我不认为这是正确的做法,因为它拦截每次点击的事件。

什么是适当的来实现这个功能?

结合的Click事件的按钮,而不是模式:

$('#myModal').modal('show') 
$('#btn-save').on('click', _.bind(@_handleSave, @))