在DOM中插入模式时运行
问题描述:
我使用的是动画的Twitter Bootstrap的模态组件,我希望在DOM中可用时尽快处理它的元素。为了说明,我没有在DOM中等待的模式,我正在编译一个Handlebars模板,并在其上调用.modal()
,否则,只要DOM准备就绪,我就可以操纵它。在DOM中插入模式时运行
Bootstrap公开了2个相关事件,show.bs.modal
和shown.bs.modal
。前者在模式切换时被触发,但之前它被插入到DOM中,后者在模态完成显示后触发,但这是之后显示动画结束,这太迟了并导致FOUC。 .modal()
方法在某些时候将模态插入到DOM中,但是当我在调用该方法后尝试搜索它时,它不在那里。
我想到在200ms后操作它,但它感觉很脏,我不确定它会一直工作。在DOM中插入模式之后,如何在动画开始之前操作它?
答
AFAIK,.modal()
不会将模式插入到DOM中。它的确插入了一个.modal-backdrop
到DOM中,但不是模态本身。
好像你应该能够公正:
- 编译模板
- 插入产生的模态HTML到DOM。 (模态将
display: none
默认情况下,所以这是安全的。) - 执行模式的元素你的操作
- 呼叫
.modal()
这样一个简单的解决方案,谢谢!是的'.modal()'确实在DOM中插入了HTML,如果它之前没有插入的话,我只是不确定何时。 – silvenon 2014-10-09 10:36:06