2016-11-30 6 views
0

SOの答えのほとんどは、モーダルダイアログボックスをアクティブにする方法、または解雇方法についてです。ブートストラップダイアログでデフォルトのアクションを適切にトリガする方法は?

しかし、私が欠けているものは、デフォルトのボタンが意味するアクションをトリガーする方法です。例えば

enter image description here

このダイアログのデフォルトのアクションは、 '保存' です。ここで

は、私が$('#myModal).modal('show')を呼び出すと、ダイアログボックスが表示される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> 

です。

右上隅の十字または[閉じる]ボタンをクリックすると、ダイアログボックスが期待どおりに終了します。

ただし、[保存]を押すと何も起こりません。

私はそれを実装するためのラウンドについての方法を使用:

これはCoffeeScriptの中に書かれています。 _handleSave内部次に

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

_handleSaveProfile: (data) -> 

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

それはすべてのクリックイベントをインターセプトするので、私はそれが正しい方法だとは思いません。

この機能を実装するのに適切なのは何ですか?

答えて

1

バインド代わりに、モーダルのボタンにクリックイベント:

$('#myModal').modal('show') 
$('#btn-save').on('click', _.bind(@_handleSave, @)) 
関連する問題