prototype.jsとjQueryを同時に使う方法は 「.noConflict()」を利用します

全ての箇所で$をprototype.jsの動作をさせる場合

<script src="prototype.js"></script>
<script src="jquery.js"></script>
//ここの読み込みは必ずjQueryが後になるようにして下さい。

<script><!--
jQuery.noConflict();
jQuery(document).ready(function(){
  // ここでは、$はprototypeの動作をします。
  // jQueryオブジェクトとしての$は一切使えず、その場合は$()ではなくjQuery()と表記する必要があります。
});
//--></script>

 

ready内ではjQueryの動作をさせる場合

<script><!--
jQuery.noConflict();
jQuery(document).ready(function($){
  // ここでは、$はjQueryとして使えます。
});
// ここでは、$はprototype.jsの動作をします。
//--></script>

 

上記の2通りの方法で同時にprototype.jsとjQueryを使用できます。

どういうときにこの記述が必要になるかというと、jQueryの一番下に下記の記述がある場合、$が衝突しないように上記の書き方が必要になります。具体的にはデフォルトのWordPressのjQueryを読み込んでいるときなどが該当します。

 

https://saekosensei.com/wordpress/wp-includes/js/jquery/jquery.js?ver=1.12.4

n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});
jQuery.noConflict();

 

 

参考サイト:

http://semooh.jp/jquery/ref/cont/with_prototype/

 

category cloud