jQuery의 Ready 메소드는 페이지가 로드된 후에만 실행되는 효과를 얻습니다. 그러나 window.onload 또는 document.onload의 패키지는 아니며 대신 표준 W3C 브라우저 DOM을 사용하여 API를 숨깁니다. 및 IE 브라우저 결함이 완료되었습니다. 먼저 jQuery 코드를 살펴보겠습니다
DOMContentLoaded = function()
{
//이벤트 모니터링을 취소하고 준비된 메소드를 실행합니다. if (document.addEventListener)
{
document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false
jQuery.ready()
}
else if (document.readyState === "완료")
{
document.detachEvent( "onreadystatechange", DOMContentLoaded )
jQuery.ready()
}
};
코드 복사 코드는 다음과 같습니다.
jQuery.ready.promise = function( obj ) {
If ( !readyList ) {
ReadyList = jQuery.Deferred()
//페이지가 로드되었음을 나타냅니다. if (document.readyState === "complete") {
> >
~
else if (document.addEventListener) //
~ ~
//모든 Ready 실행이 완료되었는지 확인하기 위한 것입니다. DOMContentLoaded 메서드가 실행되면 isReady 상태 값이 true로 설정됩니다. 따라서 //ready 메서드가 실행되면 한 번만 실행됩니다. window.addEventListener의 준비는 return window.addEventListener( "load", jQuery.ready, false )에 의해 중단됩니다.
} else {
사용 사용 사용 사용 사용 사용 's'를 통해 's'를 통해 's'를 통해 's'를 통해 사용 's'를 통해 's'를 통해 's'를 통해 '를 통해 ‐ to ‐‐‐‐‐ ‐‐
window.attachEvent( "onload", jQuery.ready )
var top = false
시도해 보세요. {
top = window.frameElement == null && document.documentElement
} catch(e) {}
If ( top && top.doScroll ) // iframe 구성 요소 제거
(함수 doScrollCheck() {
If ( !jQuery.isReady ) {
{
을 시도해 보세요.
//버그로 인해 하위 버전의 IE와 호환
http://javascript.nwbox.com/IEContentLoaded/
~ ~ } 잡기(e) {
// IE 브라우저의 낮은 버전으로 인해 OnreadyStateChange 사건을 신뢰할 수 없으므로 각 BUG에 따라 페이지가 로드되었는지 확인하여 Return Settimeout(DOSCROLLLCHECK, 50)을 완료해야 합니다.
~
jQuery.ready()
~
})()
}
}
}
return ReadyList.promise( obj )
};
준비: 함수( 잠깐 )
{
if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
//페이지 로딩이 완료되었는지, Ready 메소드가 실행되었는지 확인
반품;
}
if ( !document.body ) {
setTimeout( jQuery.ready ) 반환;
}
jQuery.isReady = true; //ready 메소드가 실행되었음을 나타냅니다.
if ( wait !== true && --jQuery.readyWait > 0 ) {
반품;
}
ReadyList.resolveWith( 문서, [ jQuery ] );
if (jQuery.fn.trigger) {
jQuery(문서).trigger("준비").off("준비")
}
},
요약:
페이지가 로드되면 두 가지 이벤트가 있습니다. 하나는 문서 구조가 로드되었음을 나타내는 이벤트입니다(이미지와 같은 텍스트가 아닌 미디어 파일 제외). 이미지 및 기타 파일이 포함된 페이지가 로드되었습니다. (라고 할 수 있습니다: onload 전에 준비가 로드되었습니다!!!)
이미지 크기 제어와 같은 일반적인 스타일 제어는 onload에 로드됩니다.
jS 이벤트에 의해 트리거된 메소드는 준비된 상태로 로드될 수 있습니다.