2012-11-03 116 views
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和使用谷歌託管的jQuery
  • 我曾嘗試與javascript_include_tag放置玩耍(移動它上面的樣式表,之前移動它)
  • 我試着包括$(document).ready()$(window).load()

$(document).ready()仍然不會觸發...在控制檯中沒有問題(在Chrome,Safari,Firefox中檢查)

類似的問題被問到here,但他從未收到他主要問題的答案。

爲什麼jQuery只有在我用$(window).load()替換$(document).ready()時才起作用?

+1

你可以發佈產生的HTML嗎?這裏的模板不太有用。 – Blender

+0

完成!讓我知道是否有必要在頭部以下任何東西。 @Blender – Michelle

+0

我想嘗試刪除除了核心jQuery.js之外的所有JS包含,然後查看它是否有效。如果是這樣,一次添加其他人,直到它打破... – nnnnnn

回答

0

對不起,我解決了它,通過刪除我寫的一些蹩腳的JavaScript。它應該是一個代碼,可以在不支持佔位符的瀏覽器中顯示標籤。不知何故,一旦我刪除文件,一切恢復正常工作...奇怪,我總是花幾個小時試圖解決一個問題,似乎在問這裏問題後解決他們的時刻!

相關問題