>웹 프론트엔드 >JS 튜토리얼 >jQuery Mobile: 문서 준비 또는 페이지 이벤트: 페이지 로드 처리에 더 나은 것은 무엇입니까?

jQuery Mobile: 문서 준비 또는 페이지 이벤트: 페이지 로드 처리에 더 나은 것은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-28 13:08:14141검색

jQuery Mobile: Document Ready or Page Events: Which is Better for Handling Page Loads?

jQuery Mobile: Document Ready 대 페이지 이벤트

차이 이해

jQuery Mobile에는 페이지가 실행될 때 코드를 실행하는 두 가지 주요 방법이 있습니다. 로드됨:

  1. 문서 준비됨 ($(document).ready()): 이 이벤트는 DOM이 로드되고 모든 요소를 ​​사용할 수 있을 때 트리거됩니다. 그러나 jQuery Mobile에서는 페이지가 Ajax를 사용하여 로드 및 조작되기 전에 이 이벤트가 너무 일찍 실행될 수 있습니다.
  2. 페이지 이벤트($('.selector').on('pageinit/pagebeforeshow' )): 이 이벤트는 jQuery Mobile용으로 특별히 설계되었으며 페이지가 초기화되거나 표시되기 전에 트리거됩니다. 특정 페이지가 로드될 때만 코드가 실행되도록 보장합니다.

페이지 이벤트가 더 좋은 이유:

  • 코드가 실행되도록 보장합니다. 의도한 페이지가 로드되어 표시될 때만.
  • 보다 예측 가능하고 일관된 페이지 처리 방법을 제공합니다. events.

페이지 이벤트 전환 순서

jQuery Mobile에서 한 페이지에서 다른 페이지로 전환할 때 일련의 페이지 이벤트가 다음 순서로 트리거됩니다.

  1. 페이지 B: pagebeforecreate
  2. 페이지 B: pagecreate
  3. 페이지 B: pageinit
  4. 페이지 A: pagebeforehide
  5. 페이지 A: pageremove
  6. 페이지 A: pagehide
  7. 페이지 B: pagebeforeshow
  8. 페이지 B: 페이지쇼

데이터 조작 및 매개변수 전달

한 페이지에서 다른 페이지로 데이터 보내기:

  • 데이터 및 dataUrl 옵션과 함께 $.mobile.changePage()를 사용하여 매개변수를 전달합니다. 새 페이지.
  • 대상 페이지에서 $(document).data() 또는 $(document).data("url")를 사용하여 쿼리 문자열을 가져옵니다.

이전 페이지의 데이터에 액세스:

  • 저장 전역 변수에 데이터를 저장하거나 sessionStorage 객체를 사용하세요.
  • 새 변수의 공유 위치에서 데이터를 검색하세요. page.

다중 이벤트 바인딩 방지

페이지 간 탐색 시 동일한 요소에 대한 다중 이벤트 바인딩을 방지하려면:

  • 문서 대신 페이지 이벤트 사용 준비.
  • 이벤트 필터(예: :Event(!click))를 사용하여 이벤트만 바인딩되도록 합니다.
  • 재트리거를 방지하려면 이벤트 핸들러에서 e.handled = true를 사용하세요.

위 내용은 jQuery Mobile: 문서 준비 또는 페이지 이벤트: 페이지 로드 처리에 더 나은 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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