2012-09-20 3 views
0

jQuery Mobile 및 PhoneGap으로 앱을 제작 중입니다. 내가 $.mobile.changePage()과 연결할 때 pageinit 이벤트와 관련된 문제가 있음을 발견했습니다. 여러 번 호출되지만 잠시 후에 예를 들어 15 개의 리디렉션이 발생하면 작업이 중지됩니다.jQuery 모바일 링크 버그?

링크를 window.location.href =() (으)로 변경하면 아무런 문제가 없습니다. 불행히도 transistions가 필요하지만이 방법은 그것을 제공하지 않습니다.

+0

표준 브라우저에서 작동하는지 (즉, 특정 플랫폼에서 관련된 전화 갭), 페이지 종류 이벤트를 바인딩 할 수있는 종류/위치를 파악하는 것은 흥미로운 일입니다. – Romain

답변

0

이벤트를 본드하는 위치에주의해야합니다. Jquery 모바일은 페이지를 변경할 때 이벤트 바인딩을 "재설정"하지 않는 방식으로 페이지를 변경합니다 (보다 일반적인 변경 페이지에서 발생하는 것처럼). 이 때문에 페이지가로드 될 때마다 이벤트 바인딩이 호출되면 바인딩 된 함수가 페이지가 이미로드 된 횟수만큼 호출되고 각 탐색마다 증가합니다. 보통 내 페이지 헤더에 모든 내 pageinit 이벤트를 바인딩합니다. 헤더가 jquery 모바일에 의해 초기 페이지에만로드되므로 바인딩을 한 번만 수행하면됩니다.