多くのHTMLとJavaScriptを含むUI(ページ1)があります。
$("#myDialog").dialog({ modal: true /* Other options */ });
$('#myDialog').load('page2Link', { }, function() { });
$('#myDialog').dialog('open');
ページ2その後、HTMLとJavaScriptの束を持っている:1ページ上の要素のいくつかがクリックされたときは、jQueryのUIのダイアログが開かれ、部分的にページがロードされている(のがページ2がいることを呼びましょう)同じように。簡単な例:
<script src="Scripts/page2Stuff.js" type="text/javascript"></script>
<div id="page2Body">
<!-- More elements -->
</div>
私は2ページが完全にレンダリングされるまで待つ必要があるpage2Stuff.js
内部JSを持っています。新しいHTMLがDOMに追加されたかどうかを確認するために、この部分ページ内で使用できるものはありますか?私は以下を試しました:
$('#myDialog').load('page2Link', { }, page2ReadyFunction);
これはpage2ReadyFunction
を見つけることができません。 page2Stuff.js
で.load
のJavaScriptを実行して、それを破棄すると思いますか?
setTimeout
を使用し、$('#page2Body')
が何かを返すかどうかを確認してくださいが、これは理想的とは思われません。
page2ReadyFunctionは、ロードの完了時に呼び出されるコールバックハンドラです。それは行く最善の方法だろう、なぜそれが呼ばれていないのか分からない? page2ReadyFunctionの実装/定義方法を説明できますか? – c4urself
'page2'の最後に' script'を置くのはなぜですか? –
@ c4urself page2ReadyFunctionはpage2Stuff.jsで次のように定義された関数にすぎません:function page2ReadyFunction(){} – xbrady