根据jQueryDoc术语,.ready()
被称为位于jQuery.prototype
中的查询选择方法。对于前$(document).ready()
正如jQueryDoc所说:$
命名空间中的方法通常是实用程序类型的方法,不适用于选择
jQuery.ready()
效用方法的目的是什么?
Plain $.ready()
不是一个实用程序方法。它是ready
例程的内部、未记录的事件处理程序。
其源代码(jQuery 1.11.3)为:
// Handle when the DOM is ready
ready: function( wait ) {
// Abort if there are pending holds or we're already ready
if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
return;
}
// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
if ( !document.body ) {
return setTimeout( jQuery.ready );
}
// Remember that the DOM is ready
jQuery.isReady = true;
// If a normal DOM Ready event fired, decrement, and wait if need be
if ( wait !== true && --jQuery.readyWait > 0 ) {
return;
}
// If there are functions bound, to execute
readyList.resolveWith( document, [ jQuery ] );
// Trigger any bound ready events
if ( jQuery.fn.triggerHandler ) {
jQuery( document ).triggerHandler( "ready" );
jQuery( document ).off( "ready" );
}
}
作为一个私有的实现细节,您可以安全地忽略它。