Jquery 为什么$(document).ready()从未启动,但$(window).load()将启动?

Jquery 为什么$(document).ready()从未启动,但$(window).load()将启动?,jquery,ruby-on-rails-3,document-ready,Jquery,Ruby On Rails 3,Document Ready,我使用的是Rails 3.2.8,运行的是jQueryV1.8.2 以下工作: $(window).load(function(){ alert('window load is working'); }); 但这不起作用: $(document).ready(function() { alert('document ready is working'); }); 事实上,每当我将$(document.ready()与$(window.load()切换到我正在测试的任何和所有jQu

我使用的是Rails 3.2.8,运行的是jQueryV1.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>
....

德普
*一堆css文件*
....
我还去了stackoverflow,神经质地搜索了web,并尝试了我能找到的所有解决方案:

  • 我曾尝试禁用本地jQuery并使用Google托管jQuery
  • 我尝试过使用
    javascript\u include\u标记的位置(将其移动到样式表上方,将其移动到前面)
  • 我尝试将
    $(文档).ready()
    包含在
    $(窗口).load()中
但是
$(document).ready()
仍然不会触发。。。控制台中没有问题(在Chrome、Safari、Firefox上检查)

有人问了一个类似的问题,但他的主要问题从未得到答案


为什么jQuery只在我将
$(document.ready()
替换为
$(window.load()

抱歉,伙计们,我删除了一些我编写的蹩脚javascript,解决了这个问题。它应该是一个代码,可以在不支持占位符的浏览器中显示标签。不知怎的,我一删除文件,一切就恢复正常了。。。奇怪的是,我总是花上几个小时试图解决一个问题,而且似乎在这里问了一个问题后马上就能解决它们

你能发布生成的HTML吗?模板在这里不太有用。完成!如果有必要,请告诉我@BlenderI会尝试删除除核心jQuery.JS之外的所有JS包含,然后看看它是否有效。如果是这样的话,一次一个地把其他的加回去,直到它坏掉…@nnnnnn这很奇怪,但是我刚刚删除了
,并用它在HTML中输出的内容替换了它。现在突然之间,它起作用了!当我把
放回去时,它又失败了。但是它输出的HTML是相同的。。。对可能发生的事情有什么想法吗?