Bootstrap 模态 - 屏幕变黑

Bootstrap modal - screen goes black

我有两个模式,它们在单击按钮时弹出。一个工作正常,但是对于第二个,屏幕变黑并且没有任何反应:

一、工作模式:

<div id="deleteConfirmation" class="hidden, modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <h5>Are you sure you want to delete this contact?</h5>
      <button id="deleteOk">
        Yes
      </button>
      <button id="deleteNo">
        No
      </button>
    </div>
  </div>
</div>

并弹出此命令:

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

第二个,几乎相同,但不工作:

<div id="addContact" class="hidden, modal fade">
  <div class="modal-header">
    <h5>Add New Contact</h5>
  </div>
  <div class="modal-dialog">
    <div class="modal-content"> 
      <label>First Name </label><input /> <br />
      <label>Last Name </label><input /> <br />
      <label>Address </label><input /> <br />
      <label>Phone Number </label><input /> <br />

      <button id="addConfirm">
        Confirm
      </button>
    </div>
  </div>
</div>

和命令:

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

它基本上是两个相同的模态框,但是对于第二个模态框,屏幕只是变黑,而第一个模态框工作正常。我假设它是我正在使用的 类 之一。这里似乎有什么问题?

这里有错别字:

<div id="deleteConfirmation" class="hidden, modal fade">
<div id="addContact" class="hidden, modal fade">

删除逗号:

<div id="deleteConfirmation" class="hidden modal fade">
<div id="addContact" class="hidden modal fade">

所以脚本无法确定 hidden class 是否被正确应用,最终你只会看到 black[=21] =]死亡画面! :O

我认为真正要做的是通过更改以下内容来删除 div 标签中隐藏的 class:

<div id="deleteConfirmation" class="hidden modal fade">
<div id="addContact" class="hidden modal fade">

至此

<div id="deleteConfirmation" class="modal fade">
<div id="addContact" class="modal fade">

如果您浏览 bootstrap 文档,您将看不到添加隐藏 class 的位置:http://getbootstrap.com/javascript/#modals

我在 bootply 创建了一些模式并修改了你的代码,看看这是否有帮助。

bootply example

您需要执行此操作才能修复。

$("#deleteConfirmation").prependTo("body");

这个对我有用。 $("#deleteConfirmation").prependTo("body");