2012-04-02 93 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