【问题标题】:jQuery not working with RailsjQuery 不适用于 Rails
【发布时间】:2009-11-19 15:43:58
【问题描述】:

所以我正在尝试让 Rails 工作的一些基本 jQuery 代码,但它似乎没有工作。我环顾四周,似乎我正确地遵循了所有的方向,并且在多个浏览器中尝试过但无济于事。本质上,我只是想在准备好的文档上向上滑动一个 div,但它只是停留在那里:(

<%= javascript_include_tag ['jquery-1.3.2', 'application'], :cache => true %>
<%= stylesheet_link_tag 'stylesheet' %>
<script type="text/javascript">
$(document).ready(function () {
    $('#login').hide("slide", { direction: "up"}, 5000);
});
</script>
<div id="container">
    <div id="left_nav">
        <p>Core Functions Will Go Here</p>
    </div>
    <div id="headertop"></div>
    <div id="logoheader">
        <%= link_to image_tag("vitaallogo.png"), root_path  %>      
    </div>
    <div id="user_nav">
        <% if current_user%>
            <%= link_to "Logout", logout_path %>
        <% else %>
            <%= link_to "Register", {:controller => 'user', :action => 'new'}%> |
            <%= link_to "Login", login_path %>
        <% end %>
    </div><br />
    <%= yield %>    
</div>
<div id="login">
 <strong>nonononononononono</strong>
</div>

任何人都可以提供任何信息将不胜感激!

【问题讨论】:

    标签: jquery ruby-on-rails


    【解决方案1】:

    问题可能是 Rails 使用了开箱即用的原型。这两个库之间可能存在冲突(它们都使用 $ 符号)。

    看看这个:http://docs.jquery.com/Using_jQuery_with_Other_Libraries

    那么,你应该试试:

      <script type="text/javascript">
        $j = jQuery.noConflict();
    
        $j(document).ready(function () {
           $j('#login').hide("slide", { direction: "up"}, 5000);
        });
      </script>
    

    那么如果你仍然想使用原型,你仍然可以使用 $ 符号。

    【讨论】:

    【解决方案2】:

    “不工作”有点含糊。 确保文件正确包含在 javascript_include_tag 中。 AFAIK,当您在文件名中添加一个点时,帮助程序不会自动附加 .js 扩展名。您需要包含完整的文件名。

    <%= javascript_include_tag 'jquery-1.3.2.js', 'application', :cache => true %>
    

    另外,我建议使用jRails

    【讨论】:

      猜你喜欢
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 2014-02-26
      • 2012-05-21
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多