2012-04-20 11 views
0

数週間前にjqueryをfirebug(drupalサイトのesp)で実行することに問題がありました。どうやら、問題はDrupalが$変数を取得していたため、小さな名前空間スニペット(function($)...(Jquery))が得られたことです。 $を取り戻した。私はFirebugでネームスペースを使用していますが、特にネームスペース内で純粋なjavascriptとJqueryを混在させると、一貫性のない結果が得られています。私は、すべてのJqueryがjavascriptであり、一緒に動作することを理解していますが、サンプルを見ると、人々がこの名前空間を展開する方法にいくつか変わったバリエーションがあります。一般的な質問として、また具体的にはFirebugの文脈の中で、名前空間Jquery(名前空間、関数呼び出しの内部、関数呼び出し、またはその他の規約の内部)にjavascriptを置く必要がありますか? ありがとう名前空間内でjavascriptとjqueryを混ぜる

答えて

2

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

jQueryは、noConflict()メソッドを使用してjQueryを防止する方法が多数用意されています。私の好みの方法は単に関数にラップするだけです。 jQueryもjQuery名前空間を使用します。 $は省略形のエイリアスであり、非常に一般的なエイリアスです。 $.each()のような機能もjQuery.each()です。とにかくどのクレイジーフレームワークがその名前空間としてjQueryを使用していますか?関数内

ラッピングの例は、このようなものです:

(function($){ 

    //inside here, "$" is jQuery 

}(jQuery)); //pass "jQuery" 
+0

うん、これは私が持っている同じ名前空間スニペットのおかげで、私は、一般的にJavaScriptと名前空間の中だけで、より興味があったと思います。私はスタックオーバーフローの例を見てこのスニペットの使用を困惑させようとしていました。私は奇妙なことをたくさん見ました。 jquery名前空間内では許可しないjsを厳密に分離する人々は、jquery名前空間内でjavascript関数呼び出しを保持する人も見ていましたが、実際にはその外に定義されたすべての関数は、 – user173361

+0

jqueryとpure jsを分離して魔法のように解決するfirebugコンソール内に奇妙な問題があることがありますが、これは問題ではありませんが、何かの底に到達したいですか? – user173361