首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$(Document).ready(.on(){})与$(Document)ready(‘ready’,function(e) )的区别

$(Document).ready(.on(){})与$(Document)ready(‘ready’,function(e) )的区别
EN

Stack Overflow用户
提问于 2013-10-16 23:54:41
回答 1查看 11.4K关注 0票数 9

我看到很多项目都在使用

代码语言:javascript
复制
$(document).on('ready', function(e){
 //jquery stuff
})

而不是:

代码语言:javascript
复制
$( document ).ready(function(  ) {
  // Code using $ as usual goes here.
});

代码语言:javascript
复制
 $(function() {
  // Handler for .ready() called.
 });

我阅读了完整的api documentation,但我不知道第一个示例的用法是什么。

对我来说,第一个示例中的on用法是无用的。

这两种情况的区别是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-16 23:56:17

函数:

代码语言:javascript
复制
$( document ).ready(function ( ) {
  // Code using $ as usual goes here.
});

翻译为:

代码语言:javascript
复制
$( document ).on( 'ready', function (e) {
 //jquery stuff
})

这些速记函数也是如此:

代码语言:javascript
复制
$( element ).click( function ( ) { } );
$( element ).hover( function ( ) { } );
$( element ).load( function ( ) { } );
$( element ).scroll( function ( ) { } );

来自.click( handler(eventObject) )documentation

此方法是前两个变体中的.on( "click", handler )和第三个变体中的.trigger( "click" )的快捷方式。

更新答案-不同之处!

还有$(document).on( "ready", handler ),从jQuery 1.8开始就被弃用了。这与ready方法的行为类似,但如果ready事件已经激发,并且您尝试.on( "ready" )绑定的处理程序,则不会执行绑定的处理程序。以这种方式绑定的就绪处理程序将在上面其他三个方法的任何绑定之后执行。

--

更新#2

jQuery(function(){});

也应该被认为是更短的替代方案

jQuery(document).ready(function(){});

这是真正的首选,因为它不会降低可读性,并删除了几个字节的字符。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19408082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档