天天看点

Ext Prototype jQuery整合

项目表现层以前使用的是 Ext + Prototype的框架,后来发现jQuery更加强大,而且插件多,想整合jQuery。结果发现jquery的$("....")等与Prototype冲突

解决办法:

先加载prototype,后加载jquery

jQuery.noConflict();

// Put all your jQuery code in your document ready area

jQuery(document).ready(function($){

// Do jQuery stuff using $

$("div").hide();

});

如上代码,在执行jQuery代码前:执行

jQuery.noConflict();

函数,运行这个函数将变量$的控制权让渡给第一个实现它的那个库。

这有助于确保jQuery不会与其他库的$对象发生冲突。在运行这个函数后,就只能使用jQuery变量访问jQuery对象。

例如,在要用到$("div a")的地方,就必须换成jQuery("div a")。

当然,也可以使用jQuery(document).ready(function($){

恢复使用别名$,然后创建并执行一个函数,

在这个函数的作用域中仍然将$作为jQuery的别名来使用。在这个函数中,原来的$对象是无效的。

这个函数对于大多数不依赖于其他库的插件都十分有效。

继续阅读