DOMエレメントを動的に作成しています(具体的には、jQueryを使用して、css "width:auto"のテキストを含むDIVを作成し、 "font-face"フォント、ページのOnLoadイベント)、divの幅が予期されたサイズ(具体的には幅が間違っている)でないことがわかりますすぐに私はそれを作成してDOMツリーに追加します。要素の幅/高さを知る必要があります。なぜなら、動的レイアウトをいくつか実行しているからです。すべての作品は、この余分なタイムアウトと私のレイアウトの完成を遅らせることにより新しく作成されたDOMオブジェクトの正確な寸法の取得
のSetTimeout(complete_layout、100)
:回避策として
は、私が要素を作成した後、次のコードを使用します(Ubuntu Linuxの最新のChromeで)
しかし、このklugeyタイマーの遅延は私の感性を害し、明らかに危険です...正確に強制する方法はありますか特定のコマンドで次元の計算?または、新しい動的要素が作成された後、DOM要素が正しくサイズ変更された後にのみ起動できるイベントが登録できますか? (私は画像がロードされた後にイメージの適切な寸法を把握できるIMG onloadイベントのようなものを描いています)
tl; dr:新しく作成されたDOMオブジェクトは正確になりますか?
ありがとうございました!
あなたがDOMにそのDIVを追加した後は、他のDOM操作をやっていますか? –
いいえ、私はちょうど$(「#fooという」)を行います。追加($(「
問題を再現する少しのコード削減を投稿すると、良い答えを得ることができます。これにはhttp://jsbin.comとhttp://jsfiddle.netが便利です。もしあなたがそうしたとしても、あなた自身で問題を解決することさえできます。 – Hemlock