在DOM中插入模态时运行

时间:2014-10-07 11:50:28

标签: twitter-bootstrap bootstrap-modal

我使用动画的Twitter Bootstrap的模态组件,我想在DOM中提供它们后立即操作它们。

为了澄清,我没有在DOM中等待模态,我正在编译Handlebars模板并在其上调用.modal(),否则我将能够简单地操作它DOM准备好了。

Bootstrap公开了2个相关事件,show.bs.modalshown.bs.modal。前一个是在切换模态时触发,但之前插入到DOM中,后者在模态完成显示后触发,但这是之后显示动画结束,为时已晚,导致FOUC。 .modal()方法在某些时候在DOM中插入模态,但是当我在调用该方法后尝试搜索它时,它就不存在了。

我发现在200ms之后操作它会起作用,但感觉很脏,我不确定它是否会一直有效。在将模态插入DOM之后,但在动画开始之前,我该如何操作它?

1 个答案:

答案 0 :(得分:1)

AFAIK,.modal()不会将模态插入DOM。它确实在DOM中插入了.modal-backdrop,但不是模态本身。

似乎你应该能够:

  1. 编译模板
  2. 将生成的模态HTML插入DOM。 (默认情况下,模态将为display: none,因此这是安全的。)
  3. 执行对模态元素的操作
  4. 致电.modal()