JSPでjQueryの競合解決(収集)を用い

<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で再現

おすすめ

転載: blog.csdn.net/weixin_34301307/article/details/93056990