2014-10-07 36 views
1

我使用的是動畫的Twitter Bootstrap的模態組件,我希望在DOM中可用時儘快處理它的元素。爲了說明,我沒有在DOM中等待的模式,我正在編譯一個Handlebars模板,並在其上調用.modal(),否則,只要DOM準備就緒,我就可以操縱它。在DOM中插入模式時運行

Bootstrap公開了2個相關事件,show.bs.modalshown.bs.modal。前者在模式切換時被觸發,但之前它被插入到DOM中,後者在模態完成顯示後觸發,但這是之後顯示動畫結束,這太遲了並導致FOUC。 .modal()方法在某些時候將模態插入到DOM中,但是當我在調用該方法後嘗試搜索它時,它不在那裏。

我想到在200ms後操作它,但它感覺很髒,我不確定它會一直工作。在DOM中插入模式之後,如何在動畫開始之前操作它?

回答

1

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