私はDOM要素を動的に作成しています(より具体的には、jQueryを使用してcss「width:auto」でテキストを含むDIVを作成し、ページのOnLoadイベントで「font-face」フォントを使用しています)が、幅がdivを作成して DOM ツリーに追加した直後に、div が予想されるサイズではありません (具体的には、幅が間違っています) 。動的レイアウトを行うため、要素の幅/高さを知る必要があります。
回避策として、要素を作成した後に次のコードを使用します。
SetTimeout(complete_layout,100)
この余分なタイムアウトでレイアウトの完了を遅らせることで、すべてが完全に機能し、すべての要素のサイズが期待どおりになります (Ubuntu Linux の最新の Chrome では)。
しかし、このクルーギー タイマーの遅延は私の感覚を害し、明らかに安全ではありません...特定のコマンドで正確な寸法計算を強制する方法はありますか? または、新しい動的要素が作成された後、すべての DOM 要素のサイズが正しく設定された場合にのみ発生する、登録できるイベントはありますか? (私は IMG onload イベントのようなものを描いています。これにより、画像が読み込まれると、画像の適切なサイズを把握できます)
tl;dr : 新しく作成された DOM オブジェクトの幅がいつ正確になるかについての保証はありますか?
ご協力いただきありがとうございます!