2012-03-09 3 views
0

jQuery Mobile을 사용하고 있습니다. 그리고 진실을 말하면, 내 머리가 지금 돌고 있습니다.내 이벤트가 다음 페이지에서 실행되지 않습니다.

이 코드를 가지고 :

  //this event happens in my index.php/page1 
      //this works 
      $(document).delegate('.front-page-down','swipedown', function (event) { 
       $.mobile.changePage('#notification', { transition: "slidedown"}); 
      }); 

      $(document).delegate('.swipeup','swipeup', function (event) { 
       $.mobile.changePage('#front-page', { transition: "slideup"}); 
      }); 
      //this event happens in my next page/page2 
      //doesn't work, I have to manually refresh the page first 
      $(document).delegate('.sns-down','swipedown', function (event) { 
       $.mobile.changePage('#featured', { transition: "slidedown"}); 
      }); 

      $(document).delegate('.featured-up','swipeup', function (event) { 
       $.mobile.changePage('#sns-page', { transition: "slideup"}); 
      }); 

첫 번째 2 (클래스의 프론트 페이지 다운 & swipeup) 내의 index.php 또는 내 페이지의 첫 번째로드 만 3 코드 (클래스에 화재 때문에 작동 sns-down & 추천 기능을 지원하지 않습니다.) 수동으로 페이지를 새로 고쳐야 작동합니다. 그런데 왜 그렇게 반응합니까?

도와주세요.

+0

델리게이트에 전달 된 함수가 전혀 호출되지 않았습니까? 이것을 증명하기 위해'console.log's 또는 뭔가를 추가 했습니까? 브라우저 콘솔에서 '$ (". sns-down")'첫 번째, 두 번째, 세 번째 등의 페이지 로딩 후 무엇을 반환합니까? –

+0

내 모바일 브라우저에서 console.log를 테스트 할 수 없습니다. alert() 만 사용할 수 있습니다. 처음 두 개는 alert()를 트리거합니다. 하지만 다음 페이지로 이동하여 3 번째 및 4 번째 대표를 시작하면 시작되지 않습니다. T_T –

+0

데스크톱 Chrome에서 테스트 해 볼 수 있습니까? 그렇지 않다면 테스트 용도로 앱이 모바일과 데스크톱에서 모두 작동하는지 확인하는 것이 좋습니다. –

답변

1

각 페이지는 서로 완전히 독립적이기 때문에. index.php에 등록 된 이벤트는 다른 페이지에 영향을 미치지 않습니다. 따라서 두 번째 페이지에 다시 등록해야합니다.

+0

은 내 두 번째 페이지에서 세 번째 및 네 번째 이벤트를 추가했습니다. 아직도 그것은 방아쇠되지 않습니다. –

+0

오류 콘솔에있는 항목이 있습니까? 페이지에는'sns-down' 클래스의 노드가 실제로 있습니까? –

+0

안녕하세요,이 오류를 추적하십시오 : $ .mobile.changePage ('# featured', {transition : "slidedown"}) ;. 이 기능은 다음 페이지에서 작동하지 않습니다. 추가 된 경고 기능에서이 부분에 대해 의견을 말하려는 시도가있었습니다. - –

관련 문제