我有一个复杂的书签,做很多事情,并且依靠
倚重jQuery的和一些插件(UI,缓和,等。)jQuery和插件无冲突书签
事情是,我不知道jQuery或其他插件是否已经包含在当前页面的
,所以我不能冲突他们,
但也需要我的文件是可维护的。
有没有人有任何想法如何做到这一点?
某种Clousers也许?
是非常重要的是我的附加jQuery.UI库不会发生碰撞与页面的人。
我有一个复杂的书签,做很多事情,并且依靠
倚重jQuery的和一些插件(UI,缓和,等。)jQuery和插件无冲突书签
事情是,我不知道jQuery或其他插件是否已经包含在当前页面的
,所以我不能冲突他们,
但也需要我的文件是可维护的。
有没有人有任何想法如何做到这一点?
某种Clousers也许?
是非常重要的是我的附加jQuery.UI库不会发生碰撞与页面的人。
最简单的方法是,包括这在你的书签的开头:
$myjq = jQuery.noConflict();
对于其余该程序使用$myjq
而不是$
,如下所示:
$myjq("#someId");
检查Documentation entry about this。
jQuery通常与使用$关键字的原型和其他库一起很好地工作。
编辑: 使用jQuery.noConflict()技巧可以防止其他库(prototype,mootools等)出现问题。
您可以随时检查是否jQuery是已经包括自己,包括前:
<script language="javascript">
if(!jQuery){
document.write('<script type="text/javascript" src="/js/jQuery.js"></script>');
}
</script>
和插件与页面自己的冲突? – vsync 2009-09-14 15:50:58
你有一个想法,哪些网页可以是?文件中的程序是我所知道的唯一防止冲突的程序。 避免碰撞的一种方法是尝试并将所有功能(尽可能小的全局变量)放在一起,如果使用全局变量,请确保它们具有唯一的名称(与您的函数名称相同)。 – Powertieke 2009-09-16 06:49:37
如何将我的所有插件放入Closure中,如果它们全都在它们的每个.js文件中?将它们复制到一个巨大的不可维护的关闭? – vsync 2009-09-18 08:45:56
我知道这一点,但这并不能解决插件冲突。因为它们解决了jQuery而不是noConlict问题 – vsync 2009-09-14 15:50:00