升级到 bootstrap 3 - jquery 调用模态失败(但在 v2.3 中有效)

upgrade to bootstrap 3 - jquery call to modal fails (but works in v2.3)

我已将我的测试站点从 bootstrap 2.3 版升级到 3.3.5 版。

当我将 bootstrap.min.js 文件从 v2.3 替换为 v3.3.5 时,jquery 代码的一部分不会被 bootstrap.min.js 的 v3.3.5 调用,但是在 v2.3 中被调用。

经过大量的时间和努力,我已经能够查明错误发生的位置,但我无法理解为什么 v3.3.5 会出现此错误(但适用于 v2.3),我是也无法弄清楚如何自己解决这个问题。我Jquery技能不强

这是我拥有的代码(我已经设置了警报以帮助我识别什么不起作用,什么起作用):

....
$('#change_formatting_style_button').click(function() {
    alert('a');
    if (! $('#change_formatting_style_button').attr('disabled')) {
        alert('b');
        $('#preview_modal').modal();  // this line is not called in v3.3.5.
        alert('c');
    }
    alert('d');
    return false;
});
....

bootstrap.min.js的2.3版本中,会调用$('#preview_modal').modal();行,但在3.3.5版本中不会调用。我不确定为什么这在 v3.3.5 中失败了。

下面是未被调用的函数:

$('#preview_modal').on('shown', function() {
    alert('0');
    $('#preview_contents').html($('#live_preview').html());
    alert('1');

});

我已经搜索过 SO 和 Google 寻求帮助,但我无法阐明这一点。

我希望有人能指出我做错了什么以及我该如何解决这个问题。

您的模态框已初始化,但尚未显示。尝试使用:

 $('#preview_modal').modal('show');