【问题标题】:Modal is not being displayed模态未显示
【发布时间】:2018-02-23 19:48:06
【问题描述】:

每当我尝试在我的应用程序中触发模式时,我都会发现相同的情况: 我在 ajax .done 中写了一个 console.log 行来显示模态代码(由后端的 echo 发送)并查看控制台(打开 chrome 开发工具),模态代码似乎是正确的。 另一个奇怪的事实是,当我点击模态按钮时,我无法点击网页上的任何其他内容。

下面,您可以查看我的模态代码以及为触发它而开发的结构。

<div id=“modal-data-ideas” class=“modal fade” role=“dialog”>
<div class=“modal-content”>
    <div class=“modal-header”>
        <button type=“button” class=“close” data-dismiss=“modal”>&times;</button>
        <h4 class=“modal-title”><h3></h3></h4>
    </div>
</div>

function ideasTable() {
…
$.ajax({
    …
}
}).done(function(data) {
    console.log(data);
    $(‘#modalIdeas’).html(data);
    $(‘#modal-data-ideas’).modal(‘show’);
}).fail(function() {
    alert(‘fail’);
});

}

Ajax 总是返回 done,但 modal.('show') 似乎什么都不做。

我已经包含了模态类。

【问题讨论】:

  • 什么版本的 Bootstrap?此外,包括 all 的模态代码。这似乎是一部分。
  • bootstrap 4.0.0 我正在尝试显示任何引导模式。当我调用 $('#modal-data-ideas').modal('show') 时,html 元素出现但“不可见”。我觉得这是一个 CSS 错误,但我所有的其他 css 引导类看起来都很好。
  • 如果您无法发布代码来重现问题,我们无能为力。

标签: javascript twitter-bootstrap modal-dialog bootstrap-modal


【解决方案1】:

id 为“modalIdeas”的元素似乎未定义。如果是这种情况,jQuery 将返回 undefined 然后调用

.html(data)

on undefined 会导致错误。

我建议在打开浏览器控制台的情况下进行调试,这应该会显示该错误。

【讨论】:

  • 元素“modalIdeas”已正确定义。实际上,我发现模态正在打开,但我无法查看它(似乎模态已打开,但屏幕上没有任何位置)。
  • 我明白了,无法从提供的上下文中分辨出来。根据引导文档,我建议将您的 &lt;div class="modal-content"&gt; 包装在 &lt;div class="modal-dialog" role="document"&gt; v4-alpha.getbootstrap.com/components/modal
猜你喜欢
  • 2022-09-29
  • 2015-10-31
  • 2016-10-27
  • 2013-12-13
  • 2021-08-04
  • 2021-12-31
  • 2020-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多