0

数週間前、jqueryをfirebug(特にdrupalサイト)で実行するのに問題がありました。どうやら問題は、Drupalが$変数を取得していたことだったので、小さな名前空間スニペット(function($)...(Jquery));を取得しました。それは$を取り戻しました。私はfirebugで名前空間を使用していますが、特に名前空間内で純粋なjavascriptとJqueryを混在させている場合、一貫性のない結果が得られます。すべてのJqueryがjavascriptであり、それらが連携して機能することを理解していますが、サンプルを見ると、人々がこの名前空間をデプロイする方法にいくつかの奇妙なバリエーションがあります。一般的な質問として、また特にFirebugコンテキスト内で、名前空間化されたJquery(名前空間内、関数呼び出し内、関数外、またはその他の規則)との特定の関係にjavascriptを配置する必要がありますか?ありがとう

4

1 に答える 1

2

が回収されないようにするつもりなら$、慣例はありませんが、方法はあります。他のフレームワークもこの$名前を使用します。後で使用$するように宣言されたものはすべて引き継ぎ$ます。ただし、それを防ぐか、回避することができます。

jQueryは、noConflict()メソッドを介してそれを防ぐための多くの方法を提供します。しかし、私の好みの方法は、それらを関数でラップすることです。jQueryもjQuery名前空間を使用します。$は省略形のエイリアスであり、非常に一般的なエイリアスでもあります。したがって、のような関数$.each()jQuery.each()です。とにかく名前空間としてjQueryを使用するクレイジーなフレームワークは何ですか?

関数での折り返しの例は次のようになります。

(function($){

    //inside here, "$" is jQuery

}(jQuery)); //pass "jQuery"
于 2012-04-20T23:44:02.543 に答える