问题标签 [document-ready]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5933 浏览

javascript - jQuery $(document).ready 在 Iron/Chrome 中损坏

我使用 jQuery 和 jFancyTiles 编写了一个小图像幻灯片,可以在这里看到:

http://www.netzwerkag.at

它在 Firefox 和 IE 中按预期工作,但在铁/铬中没有。问题似乎出在 document.ready 在铬中的时间:

  • 在第 76 行,活动类设置为标题图像右下角的带编号的圆形按钮。这行得通!

  • 在第 83 行中,通过调用 fancy-tile-function 来更改图像,这在 chromium 中不起作用,至少目前不起作用。

当我通过 ctrl-shift-j 打开 iron_js_console 并手动调用该函数时,一切正常。

此外,如果我等待 10 秒,它甚至会进入下一个图像,在所有浏览器中,都不需要之前的操作。

第一次调用fancytiles 不适用于铁/铬。这在 jquery 的 document.ready 事件中调用。

//我能做些什么?

0 投票
6 回答
55315 浏览

jquery - ajax 发布后执行 document.ready

我有一个 custom.js 文件,其中有几个元素绑定了 click 和其他方法。整个文件封装在 document.ready() 中,一切正常。但是,当我发布 AJAX 帖子时,显然 document.ready() 永远不会为当前页面再次触发。无论如何我可以让 document.ready() 再次触发,还是我需要让命名函数中的所有内容从我的 create.js.erb 中调用它们?

0 投票
7 回答
46364 浏览

ajax - jQuery mobile $(document).ready 等价物

在 ajax 导航页面中,用于执行初始化 javascript 的经典“文档就绪”表单根本不会触发。

在 ajax 加载页面中执行某些代码的正确方法是什么?

(我的意思是,不是我的 ajax ......这是 jquery 移动页面导航系统将我带到那个页面)

好的,我确实怀疑类似的事情......非常感谢=)但是......它仍然不起作用,这是我的代码:

我需要指定 div id 吗?

0 投票
5 回答
7806 浏览

javascript - 如何有效地将 yepnope.js 与 $(document).ready() 一起使用?

我一直在将 yepnope 脚本加载器作为modernizr.js 库的一部分来实现。之后我成功地加载了 jQuery 和依赖于 jQuery 的脚本。我是异步加载资源的新手,所以对我来说有点新。我一直在四处寻找,但对以下内容没有太多运气。

我的问题是您对在使用 yepnope.js 框架时如何有效地替换 $(document).ready() 的功能有何看法。

我的理论是在我的基础库中创建一个适当命名的函数,然后在我的页面上将该变量设置为包含我现有的 $(document).ready() 代码的匿名函数。在完成回调中加载所有脚本之后,yepnope 将调用此变量。

您是否同意这是一种很好的方法,还是我完全以错误的方式接近它?

(对于那些不知道的人,yepnope.js 的异步特性意味着文档在 yepnope 加载程序完成之前调用 $ 或 jQuery,抛出“$ is undefined”错误<-如果有错误请纠正我。)

第一个问题,希望是个好问题。

0 投票
4 回答
450 浏览

jquery - 已定义的函数不可访问

我正在使用 jQuery 并在从头部调用的外部 Javascript 文件中,我有这个:

在页面底部,我使用 document.ready 开始了一个新部分,但是localDb变量和updateLocalStorage函数都不可访问。

我收到一条错误消息,提示“未捕获的 ReferenceError:未定义 updateLocalStorage。” 为什么会发生这种情况,如何访问之前定义的函数?

0 投票
2 回答
11850 浏览

jquery - W3Schools 上另一个有问题的 jQuery 测验答案

这里的 W3Schools 网站上发布了一个 jQuery 测验...

http://www.w3schools.com/quiztest/quiztest.asp?qtest=jQuery

问题#16如下,

在文档加载完成之前,哪个 jQuery 函数用于阻止代码运行?

A. $(document).load()

B. $(document).ready()

C. $(body).onload()

我选择答案 A 弄错了。(他们的官方答案是 B。)

我回答了它,以为我知道以下内容,

  1. document.load在页面上的所有内容(包括所有图像)加载后触发

  2. document.ready 仅在 DOM 加载后触发(不一定所有图像都已加载)

我将原始问题的措辞解释为“文档已完成加载”,以包括所有内容(包括所有图像)。毕竟,我认为这就是他们称之为“document.load”的原因。同样,为了使他们的答案正确,您必须得出结论,“DOM”等同于“文档”。这似乎不对,否则为什么将其称为“文档对象模型”(DOM)而不仅仅是“文档”?

尽管 W3School 声称 B 是正确答案,但真正的正确答案是什么?

谢谢你的想法。

旁注:在我的其他相关问题 中引用我自己的评论......

“实际上,我在 jQuery 网站上学习了大部分 jQuery,当我遇到困难时,我会在 StackOverflow 上进行搜索。我主要是在 W3School 上玩测验,因为我正在调查他们获得 jQuery 认证的“先决条件”。我没有认为自己是 jQuery 专家,但我在他们的测验中轻松获得了 95% (19/20)。看到该答案中的不当措辞,我想我会通过在此处发布来确认我已经怀疑的内容。我对这些类型的看法认证现在正在发生变化。”


编辑:

我通知了 W3Schools 这个线程的存在。


编辑2:

当我回答最初的测验问题时,我在想 $(window).load(),因此我的测验答案显然不正确。我相信这个事实没有留下三个多项选择选项作为正确答案。请参阅下面的详细答案。

0 投票
3 回答
2351 浏览

jquery - What purpose does generating a closure inside of the $(document).ready() function accomplish?

Debugging one of my projects I noticed another developer had changed the $(document).ready() function to generate a closure inside of itself. E.G. $(document).ready(function($) { }); I am curious as to the point of doing this, as well as it's usage.

Note: By removing the $ from the function my code works again. $(document).ready(function() { })

Original/Fixed Code

Modified/Broken Code

The modified code would produce errors in FireBug stating that the custom plugin function that I was calling did not exist. I am assuming this is because the $ argument is overriding or conflicting with any of the jQuery functions trying to use it.

I'm really confused as to why someone would have changed this, in the current context it makes no sense as that plugin call is the only javascript on the page.

Can someone explain to me why you would use this and possibly an example of it's usage?

Edit

Below is the code for my custom plugin, I also modified the examples above to display how I am calling it:

0 投票
4 回答
1962 浏览

javascript - 使用 jquery ready() 函数但仍然不够快?想法?

小问题,希望有人能解答。

我正在创建这个个人 chrome 扩展来帮助我测试各种网站上的内容操作。在其中一个站点上,我只是将现有的图像替换<img>为不同的图像,并将该 jqueryreplaceWith()函数包装在$(document).ready()函数中。

但是,当导航到页面时,您仍然可以在交换它们之前看到原始图像一瞬间。

在图像交换完成之前,有什么方法可以阻止加载页面?

0 投票
7 回答
43799 浏览

jquery - jQuery 文档准备功能

以下 jQuery 片段的最终结果是否相同?

片段1:

片段 2:

换句话说,只是?的$(function(){})简写。$(document).ready(function() { });

我问的原因是因为我们在使用 jQuery 和 jQuery UI 构建的一个小应用程序中看到了一些奇怪的问题。有时,当通过单击按钮执行表单提交操作时,浏览器窗口会冻结。在我们在那里执行一些操作之前,我们仍然可以使用底层浏览器窗口(启动弹出窗口的窗口)。用户只能通过强制关闭浏览器(显然是 Internet Explorer)继续。我们怀疑这与 Acrobat PDF 插件有关,但我只是在这里检查所有角度,因为我发现这个问题似乎表现出类似的行为。

0 投票
2 回答
637 浏览

javascript - 为什么页面加载后全局 jQuery 对象会被覆盖?

我正在编写一个包含在自执行函数中的 jQuery 扩展:

在我的测试页面上,我有

为什么会这样?我没有其他可能覆盖该jQuery对象的脚本或 jQuery 插件。

jQuery在文档准备好后,我无法找到 jQuery 源代码本身覆盖对象的代码。有任何想法吗?

如果没有办法避免这种情况,那么jQuery.support在文档准备好后仍然可以访问的对象上定义新属性的正确过程是什么?

编辑:我省略了测试代码的一个关键部分,它无意中重新评估了 jQuery 源代码——并解释了为什么会发生这个问题。请看下面我的回答。