2009-09-07 5 views
7

私は一般的にjqueryの

$(document).ready(function() { 
    //stuff 
} 

私は重くjqueryのを使用してサイトにあった中でこれを使用すると、彼らはjにほとんどすべてを開始し、このサイトでは

$j(document).ready(function() { 
    //stuff 
} 

を使用してそれを呼び出します... 。

function PostComment(form) { 
    form = $j(form); 
    $j('#CommentSubmitButton').hide(); 
    $j('#CommentInProgress').show(); 
    $j.post('/utils/ajaxhandler.aspx', form.serialize(), function(data) { 
    $j('#CommentInProgress').hide(); 
    $j('#CommentSubmitButton').show(); 
    }); 
} 

これはこれを行う別の方法ですか、これはjqueryやその他のdifferntバージョンに依存していますか?

答えて

11

jquery機能をどのように呼び出すかを定義することができます。 おそらく、このサイトは別のライブラリを使用しています。これは$を予約しており、そのために別名$ jが使用されています。

+0

お知りになりたい、ちょうど "やる"ことができますか、それを定義する/別の場所に設定する必要はありますか? – JasonDavis

+2

http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Overriding_the_.24-function – janoliver

+0

'$ j = jQuery.noConflict(); ' – gnarf

8

これは、と他のライブラリとのcolisionを避けるためです:プロトタイプのようないくつかのライブラリも$記号を使用たとえば

jQuery.noConflict(); 

、そしてあなたはそれがする最も可能性が高いブレークの両方を使用して終了場合。 $ jを使用してjquery関数を開発した場合、それはできません。

+0

このサイトの場合、おそらく$ j = jQuery.noConflict()と表示されます。 - $ jはjQueryから$として利用可能であり、$の前の意味(もしあれば)は上書きされます。 – jnylen

4

これは単に名前の競合を避けるための方法です。多くのJavaScriptライブラリ(jQueryの1つであることがあります)は、ショートカットとして$を使用しています。詳細については、jQuery.noConflict()

2

を参照してください。他のライブラリとの衝突を避けることは間違いありません。最も有名なのはプロトタイプとスクリプトです。

+1

もmootoolsです。 :) – janoliver

関連する問題