我想检测模型何时关闭

时间:2015-10-09 10:04:28

标签: jquery twitter-bootstrap

我想在我的模态关闭时重置我的表单。 可以通过单击关闭按钮或单击页面中的其他位置来关闭模态。 我的模式如下:

<div class="modal fade" id="uploadVideo">
<div class="modal-dialog">

    <form>
    <!-- form contents-->
    </form>

    <div class="modal-content">
    </div>
        <div class="modal-footer">
            <div class="text-center">
                <button type="button" class="btn btn-default" id="upload_video_close" data-dismiss="modal">close</button>
                <button type="submit" id="upload-video-button" class="btn btn-primary">Upload</button>
            </div>
        </div>

</div><!-- /.modal-content -->

现在我正在做的是点击该关闭按钮触发表单重置。

$(document).on('click', '#upload_video_close', function () {
    $('form').trigger("reset");
});

当我通过点击关闭按钮关闭模态时,这段代码就可以了。 但我希望在模式关闭时重置表单,不仅要点击关闭按钮关闭它,还要点击网页上的其他位置。

3 个答案:

答案 0 :(得分:1)

使用 .hidden.bs.modal event ,如下所示:

$("#uploadVideo").on("hidden.bs.modal",function(){
    //reset your form
    //this will fire whenever the modal is closed by any sort of actions
});

答案 1 :(得分:1)

$('#myModal').on('hidden.bs.modal', function () {

})

检查These以获取更多信息。您需要使用事件。

答案 2 :(得分:1)

我会这样做:

$(document).mouseup(function (e) {
    //your button
    var closeButton = $("#upload_video_close");

    //your modal
    var container = $(".modal");

    //if you clicked outside of modal or on the button
    if ((!container.is(e.target)
        && container.has(e.target).length === 0) || closeButton.is(e.target))
    {
        $('form').trigger("reset");
    }
});