我看到许多项目使用
$(document).on('ready', function(e){
//jquery stuff
})
而不是:
$( document ).ready(function( ) {
// Code using $ as usual goes here.
});
或
$(function() {
// Handler for .ready() called.
});
我阅读完整的api documentation,但我不知道使用第一个例子是什么情况。
对我来说,在第一个例子中使用on
是没用的。
案件之间有什么区别?
答案 0 :(得分:9)
功能:
$( document ).ready(function ( ) {
// Code using $ as usual goes here.
});
转换为:
$( document ).on( 'ready', function (e) {
//jquery stuff
})
这些速记函数也是如此:
$( element ).click( function ( ) { } );
$( element ).hover( function ( ) { } );
$( element ).load( function ( ) { } );
$( element ).scroll( function ( ) { } );
来自.click( handler(eventObject) )
的{{3}}:
此方法是前两个版本中
.on( "click", handler )
的快捷方式,第三个版本中是.trigger( "click" )
的快捷方式。
更新的答案 - 差异!
还有
$(document).on( "ready", handler )
,已弃用 jQuery 1.8 。这与ready方法的行为类似,但如果是 ready事件已经触发,你尝试.on( "ready" )
绑定 处理程序将不会被执行。以这种方式绑定的现成处理程序是 在被上述其他三种方法约束后执行。
更新#2
jQuery(function(){});
也应被视为
的较短替代品 jQuery(document).ready(function(){});
它是真正的首选,因为它不会降低可读性并消除几个字节的字符。