JQuery_jquery에서 $.Ready() 분석
- WBOY원래의
- 2016-05-16 18:39:24979검색
$(document).Ready() 메소드 VS OnLoad 이벤트 VS $(window).load() 메소드
JQuery를 접하게 되면 일반적으로 가장 먼저 배우는 것은 이벤트를 시작할 시기입니다. 오랫동안 페이지가 로드된 후 발생하는 이벤트는 "Body"의 Onload 이벤트에 로드되었습니다.
Body의 Onload 이벤트와 JQuery의 Ready 메서드에 비해 단점이 많습니다. 예를 들면 다음과 같습니다. 🎜>
1. 여러 기능을 로드할 때 발생하는 문제
Onload 이벤트에 이런게 있는데 보기 흉하네요... JQuery에서는 여러 개의 JQuery.Ready() 메서드를 사용할 수 있는데, 순서대로 실행됩니다
2. 코드와 내용이 분리되지 않습니다
. 말할 것도 없이 역겹네요-.-!!
3. 실행 순서가 다릅니다
Body.Onload 이벤트의 경우 페이지 콘텐츠가 모두 로드될 때까지 실행되지 않습니다. . 내 말은 사진, 플래시 등을 포함한 모든 콘텐츠입니다. 페이지에 이러한 콘텐츠가 많으면 사용자는
$(문서)를 오래 기다리게 됩니다. Ready() 메서드를 사용하면 이 메서드는 페이지의 모든 DOM만 추가합니다. 로딩이 완료된 후에 실행되므로 웹페이지 속도가 크게 향상됩니다.
그러나 확대와 같은 일부 특수 애플리케이션의 경우에는 가능합니다. 사진에서 벗어나 사진을 자르는 것입니다. 웹 페이지의 모든 콘텐츠가 로드된 후에 실행해야 합니까? $(window).load() 메서드를 사용하는 것이 좋습니다. 이 메서드는 페이지의 모든 콘텐츠가 로드될 때까지 실행되지 않으며 OnLoad 이벤트의 단점이 없습니다. >
코드 복사
코드는 다음과 같습니다.
$ (window).unload(function() {
alert ("good bye"); }) 위 코드는 페이지가 닫힐 때 실행됩니다. >모든 DOM이 로드되기 전에 JS 코드 실행
이 방법은 디버깅할 때 제가 가장 좋아하는 방법입니다. 가끔 개발할 때도 이 방법을 사용합니다.
코드를 복사합니다.
코드는 다음과 같습니다.
예, 삽입합니다. js 코드를 js 클로저 형태로 본문에 삽입합니다. 물론, 이 방법으로 js 코드를 직접 삽입할 수도 있습니다.
코드 복사
코드는 다음과 같습니다.
test">이것이 콘텐츠입니다
this is the content
위의 두 단락 코드, 두 번째 코드는 현재 코드 이전의 DOM만 해석할 수 있으며, 테스트가 구문 분석된 DOM 수에 존재하지 않으므로 두 번째 코드가 올바르게 표시될 수 없습니다.