2012-04-02 42 views
0

我的工作中,我收到衝突渲染結果由於2 jQuery的文件一個應用程序,這是在我得到的代碼錯誤jQuery的衝突on Rails項目

<!-- tab scripts --> 
    <script type="text/javascript" src="/assets/jquery.tools.min.js"></script> 



<!-- Scrollbar --> 
      <script type="text/javascript" src="/assets/jquery.tinyscrollbar.min.js"></script> 
      <script type="text/javascript"> 
      $(document).ready(function(){ 
       $('.scrollbar1').tinyscrollbar(); 
       $('.scrollbar2').tinyscrollbar(); 
       $('.scrollbar3').tinyscrollbar(); 
      }); 
       }); 

      </script> 

現在你可以看到有2個.js文件調用,如果我寫tools.min.js之前tinyscrollbar.min.js它不會加載,並且同樣適用於反之亦然

我試圖查詢的合併既但沒有成功,我不知道如何使用noconflict function()可以幫我嗎?

+0

你有一個鏈接到你正在使用的'timeentry.js'插件。你也在'$(document).ready'(非簡寫)內包裝一個'$(document).ready'(簡寫)。 – m90 2012-04-02 13:21:33

+0

首先,刪除內部'$(function(){});';這是多餘的。它和'$(document).ready(function(){});'一樣。 – 2012-04-02 13:22:14

+0

@ m90抱歉,出現在tinyscrollbar.min.js中的錯誤:http://code.google.com/p/ajaxart/source/browse/trunk/lib/jquery.tinyscrollbar.min.js?spec = svn7031&r = 7031 – 2012-04-02 13:39:52

回答

0

我已經在我的app/views/layout/application.html.erb中聲明瞭這兩個js文件,但由於衝突,我將tinyscrollbar.min.js聲明爲它的本地視圖文件:app/view/profile/new.html .erb它解決了我的錯誤:)

+0

另一個選項,你可以嘗試,把你的JavaScript /資產/ JavaScript的/滾動/tinyscrollbar.min.js並僅在需要的頁面添加此js,並將application.js設置更改爲// = require_directory。 ,所以當應用程序加載時,它只會在JavaScript文件夾中加載js文件而不是來自內部文件夾 – chaitanya 2012-04-26 13:07:12