>  기사  >  웹 프론트엔드  >  Jquery의 document.ready_jquery보다 빠른 방법

Jquery의 document.ready_jquery보다 빠른 방법

WBOY
WBOY원래의
2016-05-16 18:28:24765검색

지난번 블로그파크에서 본 글인데, 테스트해보니 확실히 jquery의 $(document).ready(function(){....})보다 빠르고, IE 등 주류 브라우저에서도 잘 작동합니다. 문제 없습니다.

누가 만든 것인지 잊어버렸습니다. 소유자가 보시고 연락주시면 즉시 원본 텍스트를 추가해 드리겠습니다.

코드 복사 코드는 다음과 같습니다.

var jb51 =new function( ) {
dom = [];
dom.isReady = false
dom.isFunction = function(obj) {
return Object.prototype.toString.call(obj) === "[ object Function] ";
}
dom.Ready = function(fn) {
dom.initReady();
//DOM 트리가 빌드되지 않은 경우 두 번째 단계로 이동하여 저장합니다. 그것을 함께 종료하세요
if (dom.isFunction(fn)) {
if (dom.isReady) {
fn()
//DOM이 빌드되었으면 하나씩 종료하세요. one
} else {
dom.push(fn);
//스토리지 로딩 이벤트
}
}
}
dom.fireReady = function() {
if (dom.isReady) return ;
dom.isReady = true;
for (var i = 0, n = dom.length; i < n; i ) {
var fn = dom[ i];
fn( );
}
dom.length = 0
//이벤트 지우기
}
dom.initReady = function() {
if ( document.addEventListener) {
document.addEventListener("DOMContentLoaded",
function() {
document.removeEventListener("DOMContentLoaded", 인수.callee, false);
//로딩 함수 지우기
dom.fireReady();
},
false);
} else {
if (document.getElementById) {
document.write("")
document.getElementById("ie-domReady").onreadystatechange = function() {
if (this.readyState === "완료") {
dom.fireReady();
this.onreadystatechange =
this.parentNode.removeChild(this)
}
};
}
}
}
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.