4

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()ですか?

4

1 に答える 1

0

申し訳ありませんが、私が書いたいくつかのくだらないjavascriptを削除することでそれを解決しました。これは、プレースホルダーをサポートしていないブラウザーでラベルを表示するコードであると想定されていました。どういうわけか、ファイルを削除するとすぐにすべてが通常のように機能し始めました...私がいつも問題を解決するために何時間も費やし、ここで質問した直後にそれらを解決するように見えるのは奇妙です!

于 2012-11-03T07:37:53.103 に答える