2011-04-30 114 views
0

我正在構建一個Rails應用程序並安裝這個名爲「就地就地」的一次性編輯gem。它工作了一段時間,但在我與jQuery和原型衝突掙扎之後,它停止工作,現在我在嘗試加載頁面時收到此錯誤消息。jQuery和原型之間的衝突

error http://dl.getdropbox.com/u/3481269/Screen%20shot%202011-04-30%20at%206.17.45%20PM.png

我既包括jQuery和原型JS文件。

<script src="/javascripts/jquery.js?1303396383" type="text/javascript"></script> 
<script src="/javascripts/rails.js?1303562965" type="text/javascript"></script> 
<script src="/javascripts/application.js?1303842064" type="text/javascript"></script> 

    <script language="javascript" type="text/javascript"> 
     $j = jQuery.noConflict(); 
    </script> 

    <script src="/javascripts/prototype.js?1303686720" type="text/javascript"></script> 
<script src="/javascripts/jquery.purr.js?1302145859" type="text/javascript"></script> 
<script src="/javascripts/best_in_place.js?1302150372" type="text/javascript"></script> 

你能幫我解決這個問題的原因嗎?

回答

4

您分配了jQuery .noConflict()方法$j這樣的jQuery的東西,你現在必須使用$j$所以例如$j(document).ready(...

+1

他也可以使用'jQuery'而不是'$'。 – Aif 2011-04-30 21:30:16

0

我假設,最好就地插件是jQuery的,所以請原諒如果我誤解了這個問題的其餘部分。除非你在應用中寫了大量依賴於Prototype的JS,否則我可能會棄用它來支持jQuery。它是pretty easy來做這個開關。

儘管可以同時使用適當的命名空間,但這並不值得。兩者之間存在大量重疊,並且會爲代碼增加很多額外的權重。一個JavaScript框架應該足夠用於一個頁面! :)

+0

你的意思是一個你的圖書館。 jquery或prototype都不是真正的框架 – 2011-04-30 22:38:10