이 기사의 예에서는 jQuery 문서 처리 프로그램을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
jQuery 문서 처리기
소위 문서 핸들러는 jQuery에서 제공하는 $(document).ready 이벤트를 참조합니다. 이 이벤트는 dom이 로드된 후에 트리거되고, window.onlaod와 body.onload는 모두 페이지가 완전히 로드된 후에 트리거됩니다. 짐을 실은.
jQuery 문서처리 프로그램 소개
jQuery에서 DOM이 로드된 후 처리 로직을 구현하려면 $(document).ready() 이벤트만 사용하면 됩니다. 이 이벤트 함수를 "jQuery 문서 핸들러"라고 합니다.
페이지 어디든, 심지어 외부 js 파일에서도 다음 명령문을 작성할 수 있습니다.
$(document).ready(function (){ alert("document.ready")});
경고문은 페이지의 DOM이 로드된 후 즉시 실행됩니다. 페이지에 로드해야 할 대용량 이미지, js 파일 및 기타 외부 리소스가 있는 경우 jQuery의 문서 처리 프로그램이 먼저 실행되고 모든 리소스 파일이 로드된 후에 window.onload 및 boyd.onload가 실행됩니다.
Ready() 함수는 jQuery "이벤트 함수"에서 제공되는 jQuery 개체 함수이며 시그니처 비트 Ready(fn)가 있습니다.
fn은 Ready 이벤트가 발생할 때 실행되는 함수입니다.
jQuery 객체 함수이므로 모든 jQuery 객체에서 호출할 수 있습니다.
$("body").ready(function (){ alert("body.ready")});
위 문장은 다음과 동일합니다:
$(document).ready(function (){alert("body.ready")});
ready() 함수는 모든 jQuery 객체에 사용할 수 있지만, 사용 시 객체에 Ready 이벤트가 있는지 여부에 주의해야 합니다.
"$(fn)"의 단순화된 형식을 사용할 수도 있습니다.
$(function (){….}) //等效于$(document).ready(function(){…});
jQuery의 모든 이벤트 객체와 마찬가지로 $(document).ready 이벤트는 발생 순서대로 실행됩니다.
예를 들어 $(document).ready 이벤트는 두 번 호출될 수 있습니다.
$(document).ready(function (){alert("document.ready-1")}); $(document). ready(function (){alert("document.ready-2")});
DOM이 로드되면 "document.ready-1"이 먼저 출력되고 그 다음 "document.ready-2"가 출력됩니다. 기존 방식을 사용하는 경우:
Window.onload=function(){…..};
위 코드는 window.onload의 원래 이벤트를 처리한 다음 새 이벤트를 바인딩합니다.
jQuery 문서 처리기의 장점
페이지가 로드될 때 스크립트를 실행해야 하는 경우 대부분의 스크립트를 $(document).ready() 이벤트에 배치할 수 있습니다.
jQuery 문서 처리 프로그램의 장점을 예시하기 전에 먼저 일반적인 JavaScript 프로그래밍 오류인 dom이 로드되기 전에 dom 모델을 변경하는 경우를 살펴보겠습니다.
전통적인 자바스크립트 프로그래밍에서. 때로는 스크립트 모듈이 페이지의 머리글이나 하단에 직접 삽입되고 다음 예와 같이 코드가 작성됩니다.
<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQueryStorm – 常见错误编程方式举例</title> <scriptlanguage="javascript"type="text/javascript"src="../include/jquery-1.7.1.js"></script> </head> <body> <!-- 页面内容部分 –> <div id="divMsg" style="border:solid 1px#000000;padding:20px;"></div> <!-- 尾部模块 --> <script language="javascript" type="text/javascript"> //这条语句在某些情况下会导致错误 Document.getElementById("divMsg").innerHTML="<divstyle=\"border:solid 2px #FF0000\">动态添加的图层</div>"; </script> </boyd> </html>
이 예는 모든 브라우저에서 잘 작동하지만 숨겨진 위험이 있습니다. 왜냐하면 페이지가 로드되면 divMsg 컨테이너에 새로운 div 객체, 즉 dom 객체가 추가되기 때문입니다. 네트워크 속도가 느려지거나 페이지가 커서 로드하는 데 일정 시간이 걸리면 " 작업이 중단되었습니다." 오류가 발생합니다. .
이 오류는 Google 홈페이지, Taobao 및 기타 유명 웹 사이트에서도 나타납니다. 테스트 중에 이 오류를 찾기가 어렵기 때문입니다.
따라서 웹 개발을 할 때 한 가지 사실을 기억해야 합니다. DOM이 로드될 때 DOM 구조를 수정하지 마십시오.
페이지가 로드될 때 DOM 구조를 수정해야 하는 경우 원래 방법은 window.onload 및 body.onload 이벤트를 통해 구현하는 것입니다. 예를 들어 위 오류 예의 경우 다음과 같이 수정할 수 있습니다.
<script type="text/javascript"> Window.onload=function() { Document.getElementById("divMsg").innerHTML="<divstyle="\border:solid 2px #FF0000\">动态添加的图层</div>"; }; </script>
구현 방법에는 여러 가지가 있습니다. window.onload와 body.onload는 DOM이 로드되고 모든 페이지 리소스가 로드된 후에 실행되기 때문에 이 방법이 가장 간단합니다. 또는 "document.readyState"를 기준으로 dom의 상태를 판단합니다. "완전"이면 특정 작업을 수행합니다. 이 원칙은 jQuery의 문서 처리 프로그램 $(document).ready에서 내부적으로 사용됩니다.
더 많은 jquery 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제를 확인할 수 있습니다. "일반적인 jquery 작업 기술 요약", "jQuery 일반 이벤트 사용 및 기술 요약 ", " JQuery 작업 json 데이터 기술 요약", "jQuery xml 작업 기술 요약" 및 "jQuery 확장 기술 요약"
이 기사가 Jquery 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.