我对重要的部分做下翻译,希望对大家有所帮助。特别是magneto的js库使用prototype,很多人想用jquery,那么这个兼容就很有用了。
jquery prototype 兼容分两种情况,我们就让prototype可以正常使用,在使用jquery的时候做下代码的兼容处理。
第一种:先加载prototype,后加载jquery
1
2
3
4
5
6
7
8
9
10
11
12
|
<html> <head> <script src= "prototype.js" ></script> <script src= "jquery.js" ></script> <script> jQuery.noConflict(); // Put all your code in your document ready area jQuery(document).ready( function ($){ // Do jQuery stuff using $ $( "div" ).hide(); }); |
// Use Prototype with $(…), etc. $(‘someid’).hide(); </script> </head> <body></body> </html> ———————————— 如上所示,红色部分就是对jquery做的一个兼容处理,这样就可以达到 jquery和prototype兼容了。jQuery.noConflict();要放在 最前面,而jquery的代码就要放到 jQuery(document).ready(function($){ ……… }); 内部。
第二种:先加载jquery,后加载prototype
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<html> <head> <script src= "jquery.js" ></script> <script src= "prototype.js" ></script> <script> // Use jQuery via jQuery(...) jQuery(document).ready( function (){ jQuery( "div" ).hide(); }); // Use Prototype with $(...), etc. $( 'someid' ).hide(); </script> </head> <body></body> </html> |
如上所示,不用调用 jQuery.noConflict();,使用 jQuery(document).ready(function(){ …….. });,在这个函数内部使用jQuery代替$。