使用jquery.js和scriptaculous.js文件?

时间:2009-08-04 11:05:26

标签: jquery cakephp prototypejs conflict scriptaculous

有没有办法同时使用jquery和scriptaculous js文件?

我试图实现cakephp框架的自动完成功能,该功能需要js文件,prototype.js,scriptaculous.js,effects.js和controls.js。

我还在我的应用程序中使用JQuery函数,它需要jquery.js文件。

如果我包含jquery.js文件,则自动完成功能不起作用。但我还需要jquery.js文件来实现我的jquery函数。

那么有没有任何方法可以同时使用这两个js文件?

2 个答案:

答案 0 :(得分:22)

您需要在jQuery中启用无冲突模式,请参阅:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

从以上链接:

<html>
 <head>
   <script src="prototype.js"></script>
   <script src="jquery.js"></script>
   <script>
     jQuery.noConflict();

     // Use jQuery via jQuery(...)
     jQuery(document).ready(function(){
       jQuery("div").hide();
     });

     // Use Prototype with $(...), etc.
     $('someid').hide();
   </script>
 </head>
 <body></body>
</html>

但是,您仍需要加载Prototype for Scriptaculous才能工作。作为建议,如果您正在(或主要)将这些其他库用于自动完成窗口小部件,您可能需要尝试jQuery's autocomplete plugin

答案 1 :(得分:1)

同时执行jQuery和Scriptaculous的最简单方法是:

var $j = jQuery.noConflict();

并使用 $ j 代替 $ 进行jQuery。

例如,

$j('#id')