Bootstrap模式和内联脚本

时间:2016-09-08 00:50:16

标签: javascript jquery twitter-bootstrap twitter-bootstrap-3

我有一个脚本可以动态地将页面内容加载到bootstrap 3模式中。这是一些小片段:

var modal = $('#my-modal');
var modalContent = modal.find('.modal-content');

modalContent.load(url, data, function () {
    modal.modal(options);
});

这很好用,除非我需要从加载的页面运行内联js脚本,用<script>标签包装。实际上,它每隔一段时间就会执行一次。这意味着如果我有按钮打开带有一些音符的模态,当我按下按钮它将打开模态,并执行脚本。如果我关闭模态,并重新打开它,它就不会。再次,关闭并重新打开......工作......

在我再次初始化之前我甚至没有完全破坏模态,我仍然有同样的问题。

var modal = $('#my-modal');
var modalContent = modal.find('.modal-content');

modalContent.load(url, data, function () {
    modal.modal('hide').data('bs.modal',null);
    modal.modal(options);
});

修改:如果我将相同的加载内容放入任何其他div,它就可以正常使用!

1 个答案:

答案 0 :(得分:1)

仍然不确定是什么导致了这个问题,但这是解决它的问题。我每次关闭模态时都清除了模态内容div,所以当加载新内容时,它总是加载到空模态内容div中。

这是初始化模态函数的脚本:

modal = $('#my-modal');
modal.on('hidden.bs.modal', function () {
    modal.find('.modal-content').empty();
});