我正在使用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和使用谷歌託管的jQuery
- 我曾嘗試與
javascript_include_tag
放置玩耍(移動它上面的樣式表,之前移動它) - 我試着包括
$(document).ready()
內$(window).load()
但$(document).ready()
仍然不會觸發...在控制檯中沒有問題(在Chrome,Safari,Firefox中檢查)
類似的問題被問到here,但他從未收到他主要問題的答案。
爲什麼jQuery只有在我用$(window).load()
替換$(document).ready()
時才起作用?
你可以發佈產生的HTML嗎?這裏的模板不太有用。 – Blender
完成!讓我知道是否有必要在頭部以下任何東西。 @Blender – Michelle
我想嘗試刪除除了核心jQuery.js之外的所有JS包含,然後查看它是否有效。如果是這樣,一次添加其他人,直到它打破... – nnnnnn