1

イベントを使用しwindow.loadてajax呼び出しを行い、いくつかのhtmlを取得してから、<li>要素の.html属性を設定する際に使用します。これは機能しますが、通話を開始する前にすべてをロードする必要があるため、パフォーマンスが向上する可能性があります。

このajax呼び出しの一部として、パラメーターの1つは<li>outerWidth値です。しかし、たとえば、ハンドラーでajax呼び出しを行おうとすると、document.readyハンドラーouterWidthが正しく設定されていません。これは、DOM要素がその時点で最終的なサイズを知る機会がなかったためだと思います。しかし、document.ready火事の前に処理できる、要素のサイズがわかるイベントはありますか?window.loadとの間の何かdocument.ready

代わりにjQuerymobileのpageinitイベントも使用しましdocument.readyたが、この場合は違いはありませんでした。これは理解できることです。今後はpageinitを使用します。

4

1 に答える 1

1

load()の代わりに特定のDOM要素で使用できますwindow

jQuery .load()

このメソッドはのショートカットです.bind('load', handler)

ロードイベントは、要素とすべてのサブ要素が完全にロードされたときに要素に送信されます。このイベントは、URLに関連付けられている任意の要素(画像、スクリプト、フレーム、iframe、ウィンドウオブジェクト)に送信できます。

特定のDOM要素のloadイベントにバインドすることで、他の(サブではない)アイテムがレンダリングされるのを待つ必要がなくなり、パフォーマンスが向上するはずです。window.load()、あなたが発見したように、すべてのサブ要素がロードされるのを待ちます。

たとえば、単純な画像を含むページについて考えてみます。

<img src="book.png" alt="Book" id="book" />

イベントハンドラーは画像にバインドできます。

$('#book').load(function() {
  // Handler for .load() called.
});
于 2012-10-30T22:20:50.507 に答える