web-dev-qa-db-ja.com

「$(document).ready」関数の代替

Aspxページでfancyboxを使用しています。ドキュメント準備機能は、ライトボックスのこのページでは機能しません。誰かがそのページにライトボックスをロードするための新しいJavaScriptコードを書くように言った。

19
user1662341
  • JQueryを含めます。
  • 404を取得していないことをネットワークタブで確認してください。
  • 「$ is unknown」が表示されないことをコンソールで確認してください。

DOMの準備ができたら、何かを行います。

$(function(){
   // DOM Ready - do your stuff 
});
36
user338195

これを試して:

document.addEventListener('DOMContentLoaded', function() {
   // ...
});

最新のブラウザーとIE9 +で動作します

34
Symba

標準のjs onload関数を使用して、それが不足している場合に実行できます。

window.onload = function() {};

これはライブラリに関する問題を引き起こす可能性があることに注意してください-私はそれを調査していません。

7
LasseValentini

最善の方法は次のように使用することです:

jQuery.noConflict();
(function($) {
  $(function() {
   // by passing the $ you can code using the $ alias for jQuery
   alert('Page: ' + $('title').html() + ' dom loaded!');
  });
})(jQuery);
3
harshal lonare

スクリプトのdeferタグを使用するのが最善の解決策だと思います。例えば、

<script src="demo_defer.js" defer></script>

詳細は W3 Schools をご覧ください。

2
Mark Jackson