<jsp:ページ= "somethingPage.jsp" include>をJSPで使用する時に、</ JSP>ネストされたページを、jQueryの間に矛盾があるだろう
ソリューション:
必要ネストされたページで、次のようにjQueryの競合の問題が扱われる導入する場所があります:
VAR $ JQ = jQuery.noConflict(); $ JQ(ドキュメント).ready(関数(){ $のJQ( "選択" ).sSelect(); });
この例では、代わりに$ JQを使用して、あなたは競合の問題を解決することができます。
原理:
jQueryとprototype.jsのため、coypSelect.js関数はドル記号「$」を使用する代わりに、混合物の両方の機能が使用できないフレームで得定義$を繰り返す場合。
この方法の一つ:
<スクリプトSRC = "http://jquery.com/src/latest/"> </ SCRIPT> ます。<script type = "text / javascriptの"> JQ = $; // $関数の名前を変更 </スクリプト> <スクリプトSRC = "prototype.jsの"> </ SCRIPT>
このように、いつものようにその結果、あなたは$関数名に代わりJQをjQueryのを使用することができ、および$関数のプロトタイプ:
<スクリプトタイプ= "テキスト/ javascriptの"> JQ(ドキュメント).ready(関数(){ JQ( "#test_jquery")HTML( "これはjqueryのである"。); $( "test_prototype")のinnerHTML = "これがあります。プロトタイプ」; }); </ SCRIPT>
方法II - 推奨方法(閉鎖法)
ある程度、このアプローチが、両者の間の競合を解決するが、jQueryの頑固なように、私は$ JQ又は他の代替文字を書き換えることは極めて消極的でした。逆にプロトタイプのファンも、そう思うと予想します。2つのフレームワークが調和して、それを生きることができるように、まあ、それは、そこに別の解決策ではないでしょうか?調和まあ今人気!
ます。<script type = "text / javascriptの" SRC = "jqueryの- 1.2.6.js"> </ SCRIPT> ます。<script type = "text / javascriptの" SRC = "プロトタイプ1.6.0.2.js"> </ SCRIPT> <DIV ID = "test_jquery"> </ div> <divのID = "test_prototype"> </ div> <スクリプトタイプ= "テキスト/ javascriptの"> <! - (関数($){ $(ドキュメント).ready (関数(){ アラート($( "#test_jquery")HTML( "これはjqeuryある"。 )); }); })(jQueryの)。 $( "test_prototype")innerHTMLのは= "これはプロトタイプです" 。
テストの後、jQueryとPrototpyeの仕事は正常でした。いつものように、同じではない、私たちは前に書かれカドガンjQueryの外側にジャケットをしたいです:
(関数($){ // ここでjQueryのコードを書く })(jQueryの);
あなたが安全に、元の道のjQueryに応じてコードを書くことができることを保証するために、ローカル変数の機能の有効範囲のコート賢い利用
方法3: のようなjQueryの(コールバック)の方法を用いて、直接、他のライブラリを導入する前にjQueryライブラリー:
}); $( "PP")style.display = 'なし'; // 使用プロトタイプ </ SCRIPT>
方法4:次の方法で他のライブラリに変数$の制御を転送するjQuery.noConflict()メソッドを使用して、他の後のライブラリーにjQueryライブラリ、:
タイプ=スクリプト"テキスト/ JavaScriptを"> jQuery.noConflict(); // 変数$ prototype.jsのにコントロール転送 のjQuery(関数(){ // jQueryのを使用して jQueryの( "P")をクリックします(。機能( ){ アラート(jQueryの(この)の.text()); }); }); $( 。。"PP")style.display = 'なし'; // プロトタイプ使用 </ SCRIPT> // コード2 <スクリプトタイプ= "テキスト/ JavaScriptを"> のvar $ J = jQuery.noConflict(); // 比較的短いショートカットカスタマイズ の$ J(関数(){ // jQueryの使用 $ J( "P")をクリック(関数(){ アラート($ J(本)の.text()); }); }); $( 。。"PP")Style.display =「なし「; // 使用プロトタイプ </ SCRIPT> // コード3 ます。<script type = "text / JavaScriptを"> jQuery.noConflict(); // 変数はprototype.jsのに転送制御$ jQueryのを(関数($) { // jQueryの使用 。$( "P")をクリックして(関数(){ // 続ける$方法 アラート($(この }); }); )は.textを()); $( "PP")Style.display = 'なし' ;.。 // プロトタイプを使用する </ SCRIPT> // コード4 ます。<script type = "text / JavaScriptを"> ; jQuery.noConflict() // 変数$を制御しますprototype.jsのにリリース (関数($){ // $に設定され、匿名関数やパラメータの定義 $(関数(){ // 匿名の内部関数$はjQueryのある $( "P")。クリックする(機能(){ // 続ける$方法 アラート($(この })(jQueryの); // 匿名関数の引数を実行し、jQueryのパス ($を )の.text()); }); }); 。 "PP")style.display = 'なし'; // 使用プロトタイプ </ SCRIPT>
ます。https://www.cnblogs.com/JoannaQ/p/3455051.htmlで再現