2015-06-08 41 views
1

我開始在網上德興,我必須在外部文件中的JavaScript功能相關的問題: 我的功能JavaScript是這樣的:通話功能的JavaScript

function log() 
{ 
    alert("something"); 
    $('#content').load('mod/lo.php'); 
} 

我調用這個函數在HTML這樣的:

<script>log()</script> 

和腳本只顯示警報,功能負載被忽略。 但如果我這樣調用該函數:

<script>$(log);</script> 

它工作正常,該警報顯示及負載的作品。

這些形式的通話有什麼區別? 我有這方面的搜索,但幾乎所有的網頁說,調用一個函數只能把<script>function();</script> 任何人都可以解釋這種形式的呼叫差異嗎?使用參數時有問題? 謝謝並對我的英語不好。

+0

控制檯的輸出是什麼? – marekful

回答

7

$語法是一個jQuery的簡寫,它實際上意味着當文檔加載時調用這個函數。這是完全一樣的文字:

$(document).ready(function() { 
    alert("something"); 
    $('#content').load('mod/lo.php'); 
}); 

這可能表明,與ID content的DOM項目的腳本執行時還不存在。這樣做的影響是jQuery選擇器$('#content')將返回0,這可以防止調用load()。一旦文件完全加載,它將會出現,並執行你的文件。

+0

喔! 感謝您的回答,現在我明白了。 – DanteLR

+0

@DanteLR太棒了,如果你覺得它回答你的問題,請隨時接受它作爲答案:) – Ian

0

區別在於,當你打電話給<script>$(log);</script>時,實際上你打電話給$(document).ready(log() {});,Jquery執行它的代碼。在<script>log()</script>的情況下,頁面尚未加載並且不執行jQuery代碼。

Check this page

+0

謝謝你的答案,現在我明白了 – DanteLR