在DOM中插入模式时运行

问题描述:

我使用的是动画的Twitter Bootstrap的模态组件,我希望在DOM中可用时尽快处理它的元素。为了说明,我没有在DOM中等待的模式,我正在编译一个Handlebars模板,并在其上调用.modal(),否则,只要DOM准备就绪,我就可以操纵它。在DOM中插入模式时运行

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

我想到在200ms后操作它,但它感觉很脏,我不确定它会一直工作。在DOM中插入模式之后,如何在动画开始之前操作它?

AFAIK,.modal()不会将模式插入到DOM中。它的确插入了一个.modal-backdrop到DOM中,但不是模态本身。

好像你应该能够公正:

  1. 编译模板
  2. 插入产生的模态HTML到DOM。 (模态将display: none默认情况下,所以这是安全的。)
  3. 执行模式的元素你的操作
  4. 呼叫.modal()
+0

这样一个简单的解决方案,谢谢!是的'.modal()'确实在DOM中插入了HTML,如果它之前没有插入的话,我只是不确定何时。 – silvenon 2014-10-09 10:36:06