jQuery页面加载

我看到人们使用所有这些不同的技术与jQuery。我知道第二种技术将在页面加载时运行。但是第一和第三功能什么时候开火?插件中使用第三种技术来避免冲突呢?但是,这会在页面加载之前开始吗?我还添加了第四种技术。我想知道你应该/不应该使用每种技术。如果他们中的任何一个是假的,让我知道!

1

(function($) {

})(jQuery);

第2

$(document).ready(function(){

});

第3

$(function(){

}());

第四

jQuery(function($) { 

});

第5

(function(){

})();

解决方法

更新他改变了问题列表中的调用,所以我正在更新来匹配。

第一个是避免与可能分配$的其他库冲突。它不是一个准备好的处理程序。第二个和第三个是准备事件处理程序。

the jQuery API reference

All three of the following Syntaxes are equivalent:

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

所以尽管这三个做同样的事情,避免第二个。

在jQuery 1.3中,$()等于$(document)。 This is no longer true in 1.4

第四个看起来像我的语法错误。它本质上分配一个新的可用处理程序,但它传递一个名为$的参数的函数。由于这是一个事件处理程序,所以jQuery将在第一个参数中传递事件信息。您通常不需要$来表示事件信息。

第五个定义一个新的函数,然后立即调用它,不传递参数。所以这:

(function(){
    alert("Hi!");
})();

意思相同:

alert("Hi!");

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...