4

我正在使用 Rails 3.2.8 并且正在运行 jQuery v1.8.2。

以下作品:

$(window).load(function(){
alert('window load is working');
});

但这不起作用:

$(document).ready(function() {
alert('document ready is working');
});      

事实上,每当我切换$(document).ready()$(window).load()我正在测试的任何和所有 jQuery 函数时,它们都会被触发。这些包括手风琴,可拖动元素......

这是我的application.html.erb文件:

<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag    "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body background="<%= image_path(random_bg) %>">
<%= render 'layouts/header' %>

<div id="container">

<% flash.each do |key, value| %>
      <div class="alert alert-<%= key %>"><%= value %></div>
<% end %>

<%= yield %>
</div>
 <%= render 'layouts/footer' %>
</body>
</html>

生成的html...

<html>
<head>
<title>Derp</title>
*bunch of css files*
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/collections.js?body=1" type="text/javascript"></script>
<script src="/assets/global.js?body=1" type="text/javascript"></script>
<script src="/assets/derp.js?body=1" type="text/javascript"></script>
<script src="/assets/sessions.js?body=1" type="text/javascript"></script>
<script src="/assets/static_pages.js?body=1" type="text/javascript"></script>
<script src="/assets/test.js?body=1" type="text/javascript"></script>
<script src="/assets/users.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
....

我也抛出了 stackoverflow,神经质地搜索了网络,并尝试了我能找到的所有解决方案:

  • 我尝试禁用本地 jQuery 并使用 Google 托管 jQuery
  • 我尝试过放置javascript_include_tag(将其移至样式表上方,将其移至之前)
  • 我试过包括$(document).ready()里面$(window).load()

$(document).ready()仍然没有触发...控制台没有问题(在 Chrome、Safari、Firefox 上检查)

在这里问了一个类似的问题,但他从未收到他的主要问题的答案。

为什么 jQuery 仅在我替换$(document).ready()为时才有效$(window).load()

4

1 回答 1

0

对不起,我通过删除我写的一些糟糕的 javascript 解决了这个问题。它应该是在不支持占位符的浏览器中显示标签的代码。不知何故,一旦我删除了文件,一切就恢复了正常工作……奇怪的是,我总是花费数小时试图解决问题,并且似乎在这里提出问题后立即解决了问题!

于 2012-11-03T07:37:53.103 回答