2012-10-20 5 views
0

나는이 아침에 문제를 해결하려고 노력하고 있습니다. 가능한 한 도와주세요.jQuery Mobile 클릭 이벤트가 실행되지 않습니까?

이 나는이 코드를 가지고 :

$(document).bind('pageinit', function(){ 
    var menuOpen; 
    // Menu 
    $('#menu-trigger').on('click', function(e){ 
     e.preventDefault(); 
     alert('click!'); 
     if(menuOpen != true) { 
      $('.ui-page-active').animate({ 
       'margin-left': '390px' 
      }, 300, function(){ 
       menuOpen = true 
      }); 
      return false; 
     } else { 
      $('.ui-page-active').animate({'margin-left': 0}, 300, function(){menuOpen = false}); 
      return false; 
     } 
    }); 
}); 

내 문제는 내가 결코 것입니다 경고 "클릭!". id#menu-trigger이 표시된 요소를 클릭하면 아무 일도 일어나지 않습니다.

나는 할 수있는 모든 것을 시도했지만 여전히 결과가 없습니다.

내 코드는 script 태그 안에 있으며 jQuery Mobile 스크립트 포함 바로 아래에 있습니다.

P.S : 여기에 HTML 코드 조각입니다 : 당신이 문서화되지 data-role = "page"을 가지고 사업부에 pageinit 바인딩해야

<header data-role="header" class="with-logo"> 
    <a href="#" id="#menu-trigger" data-role="button" class="ui-btn-left"><img src="images/menu-trigger-icon.png"></a> 
    <h1><img src="images/logo.png"></h1> 
</header><!-- /header --> 

답변

0

가.

또한 HTML의 모양에 따라 잘못된 요소에서 '사용'하고있을 수 있습니다. 클릭 이벤트에 코드를 바인딩하려는 요소의 부모 요소 여야합니다. 는 그래서

$('#someparent').on('click', yourfunctionasdefinedabove, '#menu-trigger'); 

처럼 당신은 앵커의 ID attritute 값에서 해시 기호를 제거해야

+0

답변 해 주셔서 감사합니다. 부모는 요소의 직접적인 부모를 의미합니까 아니면 부모만을 의미합니까? – bitstream

+0

잘 모르겠습니다. (사용하고있는 HTML 세그먼트로 질문을 업데이트했습니다.) – bitstream

1

(메뉴 트리거가 부모 인 경우,이 두 번째 부분을 무시하십시오)입니다. 난이 도움이되기를 바랍니다

<script> 
    $(document).on('click', '#menu-trigger', function(e){ 
     // your code 
    }); 
</script> 

: 같은

<a href="#" id="menu-trigger" data-role="button" class="ui-btn-left"> 

및 이벤트 처리기 스크립트가 있어야한다 :

앵커 태그는 같아야합니다.

+0

OMG! 나는 바보입니다. D 고맙다. 고맙습니다. 작은 돌이 차를 돌릴 수있는 좋은 예입니다. over) 다시 한번 감사드립니다! – bitstream

관련 문제