>  기사  >  웹 프론트엔드  >  jQuery는 로드, 언로드, onunload 및 onbeforeunload - liuyueyue

jQuery는 로드, 언로드, onunload 및 onbeforeunload - liuyueyue

巴扎黑
巴扎黑원래의
2017-06-29 10:38:114256검색

 1.load: jQuery load() 메서드는 간단하지만 강력한 AJAX 메서드입니다. load() 메서드는 서버에서 데이터를 로드하고 반환된 데이터를 선택한 요소에 배치합니다.

구문: $(selector).load(URL, data, callback)

필수 URL 매개변수는 로드하려는 URL을 지정합니다.

 선택적인 data 매개변수는 요청과 함께 전송될 쿼리 문자열키/값 쌍 세트를 지정합니다.

 선택적인 callback 매개변수는 load() 메서드가 완료된 후 실행될 함수의 이름입니다.

다음은 샘플 파일("demo_test.txt")의 내용입니다.

  <h2>jQuery and AJAX is FUN!!!</h2>
  <p id="p1">This is some text in a paragraph.</p>

다음 예에서는 "demo_test.txt" 파일의 내용을 지정된

요소에 로드합니다.

예 : $ ("#p1").load("demo_test.txt");
URL 매개변수에 jQuery 선택기를 추가할 수도 있습니다.

다음 예에서는 "demo_test.txt" 파일에서 id="p1"인 요소의 콘텐츠를 지정된

요소로 로드합니다.

  $("#p1").load("demo_test.txt #p1");

선택적 콜백 매개변수는 load() 메서드가 콜백 함수를 허용하도록 완료되었습니다. 콜백 함수는 다양한 매개변수를 설정할 수 있습니다.

  • responseTxt - 호출 성공 시 결과 콘텐츠를 포함합니다.

  • statusTXT - 호출 상태를 포함합니다.

  • xhr - XMLHttpRequest를 포함합니다. object

다음 예제에서는 load() 메서드가 완료된 후 도구 설명을 표시합니다. load() 메서드가 성공하면 "외부 콘텐츠가 성공적으로 로드되었습니다!"가 표시되고, 실패하면 다음과 같은 오류 메시지가 표시됩니다.

  $("button").click(function(){

  $(" #p1" ).load("demo_test.txt",function(responseTxt,statusTxt,xhr){

  if(statusTxt=="success")

   alert("외부 콘텐츠가 성공적으로 로드되었습니다!");

  if( statusTxt== "error")

      Alert("Error: "+xhr.status+": "+xhr.statusText)

   });

  }); .

 특히 다음이 발생할 때 언로드 이벤트가 발생합니다. 페이지 외부의 링크 클릭

주소 표시줄에 새 URL 입력

  • 앞으로 또는 뒤로 버튼 사용

  • 브라우저 닫기

  • 페이지 새로고침

  •  unload() 메소드는

    이벤트 핸들러
  • 프로그램을 언로드 이벤트에 바인딩합니다.
  •  unload() 메서드는 창 객체에만 적용됩니다.

 

3.onunload

  사용법:·object.onbeforeunload = 핸들러   ·

 설명: onunload 이벤트는 사용자가 페이지를 닫을 때 트리거됩니다.

  발생 원인:
  ·브라우저 창을 닫으세요
  ·주소 표시줄이나 즐겨찾기를 통해 다른 페이지로 이동할 때
  ·돌아가기, 앞으로, 새로고침, 홈페이지 중 하나를 클릭할 때
   · 다른 페이지에 대한 URL 링크를 클릭할 때
 ·다음 이벤트 중 하나를 호출할 때: 클릭, document 쓰기, 문서 열기, 문서 닫기, 창 닫기, 창 탐색, 창 NavigateAndFind, 위치 바꾸기, 위치 다시 로드, 양식 제출
 ·창 열기를 사용하여 페이지를 열고 이 페이지의 창 이름을 열 페이지에 전달합니다.
 ·location.href의 값을 재할당할 때.
 ·입력 유형="제출" 버튼을 통해 지정된 작업이 포함된 양식을 제출하는 경우.

  예:

< ;

meta http -equiv="Content-Type" content="text/html; charset=gb2312
" />
   <제목 >onunload 테스트 /title> ! ");   }
</script>  & lt;/머리>
  < ;body onunload
="checkLeave()
"&g t;</body> ;

  </html>

4
세 가지 주요 주류 브라우저인 Firefox 및 IE에서 onbeforeunload 이벤트가 발생하지만 Opera는 아직 이를 지원하지 않습니다.
사용법:
Object.onbeforeunload = handler
, 이 페이지에 머물려면 취소하세요. 처리기는 대화 상자에 표시된 텍스트로 반환 값을 설정할 수 있습니다.

  발생 원인:
  ·브라우저 창을 닫으세요
  ·주소 표시줄이나 즐겨찾기를 통해 다른 페이지로 이동할 때
  ·돌아가기, 앞으로가기, 새로고침, 홈페이지를 클릭할 때
  ·다음 중 하나를 클릭하세요. 다른 페이지의 URL 연결로 이동
 ·클릭, 문서 쓰기, 문서 열기, 문서 닫기, 창 닫기, 창 탐색, 창 탐색 및 찾기, 위치 바꾸기, 위치 다시 로드, 양식 제출
이벤트 중 하나를 호출할 때.
 ·창 열기를 사용하여 페이지를 열고 이 페이지의 창 이름을 열 페이지에 전달합니다.
 ·location.href의 값을 재할당할 때.
 ·입력 유형="제출" 버튼을 통해 지정된 작업이 포함된 양식을 제출하는 경우.
 다음 요소에서 사용할 수 있습니다:
 ·BODY, FRAMESET, window
 플랫폼 지원:
 IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+
 예:

 <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   < 나도 http - equiv="Content-Type" content="text/html; charset=gb2312" />
   <title& gt; 언로드 테스트 전 < ;/title> ?"
;   }  < ;/script>

  </head>
  <
body onbeforeunload="
checkLeave()"> </
body>    </html>

하지만 onbeforeunload에는 작은 문제가 있습니다. 즉, 페이지가 새로 고쳐졌는데도 그는 여전히 onbeforeunload를 호출할 것입니다. 왜일까요? 실제로 새로 고치는 것은 IE를 닫았다가 다시 여는 것과 동일하므로 onbeforeunload가 계속 호출됩니다. onbeforeunload를 호출하지 않고 새로 고침 문제를 해결하는 방법은 무엇입니까?

window.onbeforeunload = function(){
var n = window.event.screenX - window.screenLeft;
document.documentElement .scrollWidth-20; if(b && window.event.clientY <
0 || window.event.alt 키)                                                                                     ,                 ,,,,,,,, ,,,,,,,,,,,,,,,,, , 새로 고침 안 함 "); window.event.returnValue =
"
종료하시겠습니까? "; }else ㅋㅋㅋ




참고: : http://www.cnblogs.com/ fredlau/archive/2009/06/10/1500490.html, 원저자님께 감사드립니다

위 내용은 jQuery는 로드, 언로드, onunload 및 onbeforeunload - liuyueyue의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.