ドキュメントがまだロードされている場合にのみ関数を呼び出したいのですが、どうすればよいですか?
10119 次
3 に答える
8
document.readyState
グローバルスコープで単純な変数を確認または使用できます。
var ready = false;
$(document).ready(function () {
ready = true;
});
于 2010-06-12T14:34:34.740 に答える
0
非常に便利なjQuery遅延オブジェクトを使用して、ドキュメントがまだロードされているかどうかを確認できます。
http://api.jquery.com/category/deferred-object/
http://eng.wealthfront.com/2012/12/jquerydeferred-is-most-important-client.html
例えば
(function($) {
var jqReady = $.Deferred();
// Bind doc ready to my deferred object
$(document).bind("ready", jqReady.resolve);
// Check to see is doc is ready
if(jqReady.state() !== 'resolved'){
alert('Doc is not ready');
}
$.when(jqReady).then(function () {
// Code here will run when doc is ready/state === 'resolved'
alert('Doc is ready');
});
})(jQuery);
于 2012-12-17T09:39:34.700 に答える
0
関数を JavaScript で通常どおり実行し、次のように上書きできますjQuery.ready
。
function foo() {
// …
}
$(document).ready(function() {
foo = function() {};
});
foo();
これで、foo
再帰的に自分自身を呼び出すとfoo
、ドキュメントの準備ができたときに が再定義されたときに停止します。
于 2010-06-12T14:34:16.457 に答える