Jquery 为什么$(document).ready()从未启动,但$(window).load()将启动?
我使用的是Rails 3.2.8,运行的是jQueryV1.8.2 以下工作: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
$(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是相同的。。。对可能发生的事情有什么想法吗?