Rails 3.2.8を使用していて、jQueryv1.8.2を実行しています。
次の作品:
$(window).load(function(){
alert('window load is working');
});
しかし、これは機能しません:
$(document).ready(function() {
alert('document ready is working');
});
実際、テストしているすべてのjQuery関数を切り替える$(document).ready()
と、それらが起動されます。$(window).load()
これらには、アコーディオン、ドラッグ可能な要素が含まれます...
これが私の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をスローし、神経質にWebを検索し、見つけたすべてのソリューションを試しました。
- ローカルのjQueryを無効にし、Googleを使用してjQueryをホストしようとしました
javascript_include_tag
(スタイルシートの上に移動し、前に移動する)の配置を試してみました$(document).ready()
中に入れてみました$(window).load()
しかし、$(document).ready()
それでも起動しません...コンソールに問題はありません(Chrome、Safari、Firefoxでチェック)
ここでも同様の質問がありましたが、彼は主な質問に対する回答を受け取っていませんでした。
$(document).ready()
に置き換えた場合にのみjQueryが機能するのはなぜ$(window).load()
ですか?