jQuery 文档就绪函数

标签 jquery jquery-ui document-ready

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

代码片段 1:

$(function() { alert('test!'); });

代码片段 2:

$(document).ready(function() { alert('test!'); });

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

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

最佳答案

以下所有三种语法都是等效的:

$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)

给 jQuery 命名空间起别名

当使用另一个 JavaScript 库时,我们可能希望调用 $.noConflict() 以避免命名空间困难。当这个函数被调用时,$快捷方式不再可用,迫使我们每次通常编写$时都编写jQuery。但是,传递给 .ready() 方法的处理程序可以采用一个参数,该参数传递给全局 jQuery 对象。这意味着我们可以在 .ready() 处理程序的上下文中重命名该对象,而不会影响其他代码:

jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
});

关于jQuery 文档就绪函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5754192/

相关文章:

JQuery:为什么使用不显眼的 JavaScript/Document Ready 函数而不是 OnClick 事件?

javascript - 如何在全页网站的嵌套页面上使用准备好的文档

javascript - $(document).ready(function() 在内容页面/Telerik 控件中不能完美运行

JavaScript 幻灯片不断相互交叉

jquery - 使用 jQuery 的甘特图

jquery - 如何让这个 jQueryUI 按钮与使用自定义 CSS 样式创建的按钮大小相同?

jquery - 如何更改 jQuery UI Datepicker Z-Index 值?

jquery - jquery中div之间通信的正确方法?

javascript - ajax完成后重新绑定(bind)

javascript - jquery 导航栏 slidetoggle 问题