2011-03-05 73 views
3

我是新來的JavaScript,所以我試圖使用兩個jQuery插件,他們一起工作不正常。只要我刪除其中的一個。與2個JavaScript文件衝突

我該如何解決這個問題?我可以粘貼這兩個.js文件,但這是2k行代碼,我不想用這麼多行代碼打擾你。

或者,如果你知道一些插件,做了一些功能,將有助於太=)

- 更新:

謝謝你們, (我不能在你的答案中添加評論(我真的不知道爲什麼),這個網站存在一些問題。) @Mörre我注意到當我在AJS.js中刪除了這行代碼(它的一部分):

AJS.exportToGlobalScope();

但之後,我不知道該怎麼做,對不起,我是新來的JavaScript很多東西,你說我不明白。

@Jim,我沒有發現任何:

$(文件)。就緒(函數(){ });

用你所說的替換jQuery。

我嘗試用'jQuery'取代所有'$',但仍然無效。

+0

「他們無法正常工作」並沒有充分描述您的問題。加載頁面時,控制檯中是否存在JavaScript錯誤?插件的各個方面不起作用?是否有頁面佈局問題?有很多可能性,但你什麼也沒告訴我們。 – Pointy 2011-03-05 13:06:59

回答

3

Valter,

您可能會發現$ alias正在發生衝突。你可能得到它的工作,如果你明確地使用全jquery alias引用jquery對象即而不是:

<script type="text/javascript"> 
    $(document).ready(function() { 

    }); 
</script> 

嘗試:

<script type="text/javascript"> 
    jQuery(document).ready(function() { 

    }); 
</script> 

改變任何$引用在客戶端代碼jQuery使用時自動完成庫。

只是如果它是相對於this'area」

+0

原因是? – 2011-03-05 13:12:40

+2

沒有'$ jQuery'變量,你的意思是'jQuery'沒有'$' – meouw 2011-03-05 13:13:16

+0

是的:) - 錯字,快速手指。改變 - doh!「:) :) – 2011-03-05 13:14:08

2

沒有在代碼簡要照看檢查任何進一步思想,AJS代碼首先把一切都在一個全局對象AJS - 但是出口的每一個屬性將該對象放入全局名稱空間中。不良行爲。第一個是常規的jQuery插件。建議:不要使用AJS,也不要將導出刪除到全局空間(然後您只需通過在AJS前添加「AJS」來調用AJS方法)。