隐藏未触发引导模式的事件

时间:2014-07-21 15:23:14

标签: jquery twitter-bootstrap

我在cshtml中定义了我的模态,如下所示。当我单击十字标记或关闭按钮时,我想执行一些操作但是hide事件不会被触发。

<div id="addD" class="modal hide fade" tabindex="-1" role="dialog" 
     aria-labelledby="addPatientLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" 
                data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="addLabel">Create</h3>
    </div>
    <div class="modal-body">
        <p class="validateTips"></p>
        <table>
            <tr>
                <td class="TemplateLabel">
                    Name:
                </td>
                <td align="left">
                    <input placeholder="name" type="text" name="Name" 
                           data-bind="value: NewP.Name" id="SignUpName" 
                           class="SignUp text ui-widget-content ui-corner-all" />
                </td>
            </tr>
        </table>
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
        <button class="btn btn-primary" onclick="SaveD()">Save changes</button>
    </div>
</div>

这是我的js代码:

$(document).ready(function () {
    $('#AddD').on("hidden", function () {
        debugger;
        alert("blah");
    });
}

2 个答案:

答案 0 :(得分:1)

似乎你将'#addD'的id赋予模态,然后期望元素$('#AddD')触发事件。

答案 1 :(得分:0)

对于Bootstrap 3.0:

According to the docs,可用的事件类型如下:

  
      
  • show.bs.modal
  •   
  • shown.bs.modal
  •   
  • hide.bs.modal
  •   
  • hidden.bs.modal
  •   
  • loaded.bs.modal
  •   

您必须使用正确的命名空间事件,如下所示:

$('#addD').on("hidden.bs.modal", function () {
    alert("blah");
});

另外,正如已经指出的那样,您的HTML和Javascript

之间的ID选择器是不同的

Demo in jsFiddle