2017-02-01 3 views
0

私はjQueryを公式の文書から学んでいます。私は$(document).readyと仲直りしています。

$(document).ready(function(){ 
    console.log('Document:READY'); 
    $.get('script.js', function(){ 
    console.log('Script Loaded'); 
    }); 
}); 

私は、document.readyとすぐドキュメントオブジェクトモデルの準備ができているようにトリガされdocumentationから得たもの:私は、次のコードを持っています。私が理解できないのは、script.jsへの呼び出しを$.get('script.js')で呼び出すときです。なぜそれが再びtrigerring document.readyになるのですか?ここでplunkrconsole.log

Document:READY 
script.js:6 Script Loaded 
VM562:4 Document:READY 
VM562:6 Script Loaded 
VM563:4 Document:READY 
+2

...あなたは再帰ループをあなたの仕事の固定バージョン持っているこれは、注意が必要http://plnkr.co/edit/Pz4CUsn83Xtxsr7WoXTv?p=info – Hackerman

+0

@Hackerman私はちょうど知りたいと思った知っ修正jQueryがこのイベントをトリガする理由。とにかく私はdocsから答えを得ました。ありがとう。 –

+0

あなたの答えは正しくありません! – Hackerman

答えて

0

documentationを掘り下げた後、jsが動的にロードされるときはいつでもjQueryがこのイベントをトリガーすることがわかりました。 api docs:

$ .getScript()などのメソッドを使用してページを読み込んだ後、スクリプトを動的に長く読み込むことができます。 .ready() によって追加されたハンドラは、常に動的にロードされるスクリプトで実行されます。

0

$.get('script.js')script.js内で定義されています。これは再帰的であることを意味し、実際には再帰的無限と呼ばれる$(document).ready(function()があります。それは決して止めることはありません。

関連する問題