bootstrap远程模态删除JavaScript

时间:2013-10-08 07:38:10

标签: jquery twitter-bootstrap bootstrap-modal

我的bootstrap应用程序中有模态。模态从dataremote源获取其内容。在这个模态中,我定义了一些javascript函数。

我的问题是,当我关闭模态并再次打开它时,javascript代码可用两次。这意味着点击事件将多次执行。

是否有可能清除hide上的模态javascript代码?

我也用

$('body').on('hidden', '.modal', function () {
  $(this).removeData('modal');
});

以防止再次显示相同的内容

2 个答案:

答案 0 :(得分:1)

以下是一个例子:

标记:

<button type="button" id="test">Launch modal</button>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog"></div>
</div>

脚本:

$('#test').click(function() {
    $("#myModal").modal({
        remote : 'your-remote-href'
    });
});
//target this event, see http://getbootstrap.com/javascript/#modals -> events
$('#myModal').on('hidden.bs.modal', function () {
    $(this).empty(); //<---- empty() to clear the modal
})

我假设您没有使用href - 属性

<button type="button" data-toggle="modal" href="some href" data-target="#myModal">Launch modal</button>

这样做的模态内容只加载一次。并且清空模态将是永久性的。

答案 1 :(得分:1)

这篇文章帮助我:Twitter bootstrap remote modal shows same content everytime

如果您使用的是BS 3.0,请注意接受答案下方的响应,因为语法已更新。