JS エンジンは Coffeescript を解釈しません。代わりに、そのブロックを最初に JavaScript にコンパイルする必要があります。(または、javascript を直接記述することもできます)。
.modal-footer クラスがデフォルトのブートストラップ モーダルに由来する場合、つまりモーダル html ブロック全体の唯一の部分であることを意味し、フッターを閉じるためにハンドラーをアタッチするのに最適な場所ではない可能性があります。
デフォルトのブートストラップには、次のようなデフォルトのモーダル構造が付属しています。
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria- labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
これを閉じるには、組み込みのブートストラップ動作を使用するのが最も簡単な方法ですが、モーダルを構成する最も外側の html 要素 (この場合は id="myModal" の div) を参照します。
$('#myModal').modal('hide');
あなたの例では、コンテナのIDがわかっている場合:
$(".modal-footer .btn").click(function(){
alert('commit');
$('#myModal').modal('hide');
});
そうでない場合は、前の応答の例のように、一連の .parent() 呼び出しを使用してツリーをたどることができます。
私が何かを見逃していない限り...