Cha*_*zak 5 javascript jquery ruby-on-rails document-ready
我正在使用rails 3应用程序,我想使用可排序列表.我正在使用此处显示的方法.我的应用程序使用JQuery,我的应用程序布局中包含一个js文件,用于调用$(document).ready()设置一些可视化内容.这似乎工作正常.
但是,当我尝试$(document).ready()在我的视图模板中调用content_for :javascript以设置可排序列表时,该代码永远不会触发.我的yield :javascript布局文件中有必要的调用,如果我加载页面并查看源代码,一切看起来都很好.但是代码永远不会运行 - 即这个$(document).ready()永不触发的实例.
我刚刚发现,如果我替换$(document).ready(),$(window).load()那么我的js代码运行.
所以我的问题是:为什么会$(document).ready()失败并且$(window).load()有效?
这有效:
<% content_for :javascript do %>
<script>
$(window).load(function(){
alert('it works!');
});
</script>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这不起作用
<% content_for :javascript do %>
<script>
$(document).ready(function(){
alert('it works!');
});
</script>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是布局
<!DOCTYPE html>
<html>
<head>
<title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
<!-- Reset Stylesheet -->
<%= stylesheet_link_tag "reset" %>
<!-- Main Stylesheet -->
<%= stylesheet_link_tag "style" %>
<!-- Invalid Stylesheet -->
<%= stylesheet_link_tag "invalid" %>
<%= javascript_include_tag :defaults, "nested_form", "DD_belatedPNG_0.0.7a", "simpla.jquery.configuration", "facebox", "jquery-ui.min" %>
<%= yield :javascript %>
<%= yield(:head) %>
<%= csrf_meta_tag %>
</head>
<body onload="initialize()"><div id="body-wrapper">
…
Run Code Online (Sandbox Code Playgroud)
与注册的主体回调存在冲突onready=。请参阅 jquery 文档。您必须删除<body onload="initialize()">.
还有一种可能是资源加载速度非常慢。不过第一种可能性更大。
.ready资源加载时触发。资源可能永远处于等待状态,因为服务器在将资源发送到浏览器时从未关闭套接字。使用 firebug 的网络监控工具来追踪是否是这种情况。
| 归档时间: |
|
| 查看次数: |
6299 次 |
| 最近记录: |