2011-08-15 154 views
4

在jQuery網站上,對$(callback)的描述是它的行爲與$(document).ready(function)相同,但這些示例顯示了這兩種語法之間的一些差異。所以我想知道,有沒有人知道兩者之間的差異究竟是什麼?

+0

什麼區別,你說什麼? –

回答

7

有沒有差異,該文檔不顯示任何區別:

以下所有三種synt軸是等價的:

  • $(文件)。就緒(處理)
  • $()準備就緒(處理器)(這是不推薦)
  • $(處理器)

直接從:http://api.jquery.com/ready/

我認爲你是通過顯示jQuery(function($){ ... }); 的例子僅僅是一個呼喚的方式混淆g $(handler),沒有$衝突。

IE。

// Here `$` is used by another library 
jQuery(function($){ 
    // Here `$` refers to jQuery 
}); 
4
$(document).ready(function() { 
    // Handler for .ready() called. 
}); 

這等效於調用:

$(function() { 
// Handler for .ready() called. 
}); 

http://api.jquery.com/ready/

0

沒有區別。 如果調用$()只有一個參數 - 一個函數:$(some_function) - 這意味着,它會調用$(document).ready(some_function)

所以,爲了簡單起見,你可以使用:

$(function(){ 
// your code 
}); 

附:如果您使用不同的庫(可能與$變量衝突),請不要使用此結構。在這些情況下使用:

jQuery(function(){ 
// your code 
}); 
1

沒有區別可言,只是快捷方式是非常輕微的,因爲它必須決定該參數的類型,然後調用$(document).ready慢。 (其實jQuery的源代碼是非常乾淨的,所以你可以很容易地檢查自己 - $()calls$.fn.init,其中goes through a couple of tests然後在管線177電話ready

相關問題