我正在使用jquery和prototype.js。 $中有冲突。可以通过使用var $ j = jQuery.noConflict()来解决,但我有大量的文件使用$ for jquery,因此不容易删除。即使我使用的是一些也需要重命名的插件。(比如jquery.dataTables.bootstrap.js,其中我必须从$更改为$ j)
所以我的问题是我们可以将prototype.js中的$重命名为其他东西,所以它很容易。我正在使用1.5.1版的原型。 感谢
答案 0 :(得分:0)
简单回答,不 - 一些PrototypeJS模块(Array,Enumerable,RegExp,String等)依赖于可用的$()
函数,并期望它返回扩展元素而不是jQuery集合
但是,您可以将jQuery代码包装在一个立即执行的函数中,以解决您的问题。
例如
(function($){
//jQuery code in here that uses $()
})(jQuery);
这基本上是一个Javascript闭包,在该上下文中将jQuery()
方法重命名为$()
答案 1 :(得分:0)
将$更改为$ p导致一些问题(比如调用jquery hide或show function,调用prototype.js函数)。所以解决冲突的方法是在新选项卡中打开prototype.js相关内容并使用jquery.noConflict()。