我有一個複雜的書籤,做很多事情,並且依靠
倚重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