誰かがDOMロードイベントをフックする方向に私を向けることができますか?
基本的に、dom の読み込み中にローダーを表示したい (ユーザーが初めてページにアクセスしたときの Ajax リクエストを意味するわけではない) ?
よろしくお願いします
フレームワークを使用していない場合は、DOMContentLoaded イベントを使用します。
document.addEventListener('DOMContentLoaded', function() {
// ...
})
一般的な Javascript ライブラリにはすべて、これに使用できる「DOM ロード」イベントがあります。
基本的に:
<html>
<head>
<script>
// if using jQuery
$(document).ready(function() { $('#loading').hide(); });
// if using Prototype
document.observe("dom:loaded", function() { $('loading').hide(); });
</script>
</head>
<body>
<div id="loading">Loading...</div>
<!-- rest of page -->
</body>
</html>
ライブラリを使用せずにこれを行う適切な方法は (実際にはライブラリを使用しても、スクリプトのブロックと IE の予測不可能性を扱っているため)、ページの最後にスクリプトを配置することです。
onLoaded = 関数(){ ... }onLoaded()
jQuery の代替手段を提供するために、YUI Event はこの目的のためにもonDomReady()関数を提供します。彼らのサイトの例は次のとおりです。
<script type="text/javascript">
function init() {
YAHOO.util.Dom.setStyle("hidden_element", "visibility", "");
}
YAHOO.util.Event.onDOMReady(init);
</script>