jQuery Mobile: Document Ready 대 페이지 이벤트
차이 이해
jQuery Mobile에는 페이지가 실행될 때 코드를 실행하는 두 가지 주요 방법이 있습니다. 로드됨:
-
문서 준비됨 ($(document).ready()): 이 이벤트는 DOM이 로드되고 모든 요소를 사용할 수 있을 때 트리거됩니다. 그러나 jQuery Mobile에서는 페이지가 Ajax를 사용하여 로드 및 조작되기 전에 이 이벤트가 너무 일찍 실행될 수 있습니다.
-
페이지 이벤트($('.selector').on('pageinit/pagebeforeshow' )): 이 이벤트는 jQuery Mobile용으로 특별히 설계되었으며 페이지가 초기화되거나 표시되기 전에 트리거됩니다. 특정 페이지가 로드될 때만 코드가 실행되도록 보장합니다.
페이지 이벤트가 더 좋은 이유:
- 코드가 실행되도록 보장합니다. 의도한 페이지가 로드되어 표시될 때만.
- 보다 예측 가능하고 일관된 페이지 처리 방법을 제공합니다. events.
페이지 이벤트 전환 순서
jQuery Mobile에서 한 페이지에서 다른 페이지로 전환할 때 일련의 페이지 이벤트가 다음 순서로 트리거됩니다.
- 페이지 B: pagebeforecreate
- 페이지 B: pagecreate
- 페이지 B: pageinit
- 페이지 A: pagebeforehide
- 페이지 A: pageremove
- 페이지 A: pagehide
- 페이지 B: pagebeforeshow
- 페이지 B: 페이지쇼
데이터 조작 및 매개변수 전달
한 페이지에서 다른 페이지로 데이터 보내기:
- 데이터 및 dataUrl 옵션과 함께 $.mobile.changePage()를 사용하여 매개변수를 전달합니다. 새 페이지.
- 대상 페이지에서 $(document).data() 또는 $(document).data("url")를 사용하여 쿼리 문자열을 가져옵니다.
이전 페이지의 데이터에 액세스:
- 저장 전역 변수에 데이터를 저장하거나 sessionStorage 객체를 사용하세요.
- 새 변수의 공유 위치에서 데이터를 검색하세요. page.
다중 이벤트 바인딩 방지
페이지 간 탐색 시 동일한 요소에 대한 다중 이벤트 바인딩을 방지하려면:
- 문서 대신 페이지 이벤트 사용 준비.
- 이벤트 필터(예: :Event(!click))를 사용하여 이벤트만 바인딩되도록 합니다.
- 재트리거를 방지하려면 이벤트 핸들러에서 e.handled = true를 사용하세요.
위 내용은 jQuery Mobile: 문서 준비 또는 페이지 이벤트: 페이지 로드 처리에 더 나은 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!