2012-03-03 3 views
3

jQuery Mobile로 전환하는 데 문제가 있습니다.jQuery 모바일, 열린 대화

전환 효과를 만들 수 없습니다.

다음

내 코드는 ... 당신의 도움에 대한

<div id="main" data-role="content" data-theme="d"> 
<a href="#dialog" data-role="button" data-rel="dialog" data-transition="fade" data-inline="true">dialog</a> 
<!-- ... --> 
<div data-role="page" id="dialog"><!-- dialog--> 
    <div data-role="header" data-theme="e"> 
     <h1>Foo</h1> 
     </div> 
    <div data-role="content" data-theme="e"> 
     <p>Bar</p> 
    </div> 
</div> 
<!-- Footer --> 
jQuery('#page').live('pageinit', function() { 
    $('.widget ul').attr('data-inset', 'true').attr('data-theme', 'd').attr('data-dividertheme', 'b').attr('data-role', 'listview'); 
    $('.widget ul').listview(); 
}); 
jQuery('#page').live('changepage', function() { 
$('#dialog', 'pop', true, true); 
}); 

감사합니다.

감사, 데이터-역할에

V.

답변

1
jQuery(document).delegate('#page', 'pageinit', function() { 
    $('.widget ul').attr('data-inset', 'true').attr('data-theme', 'd').attr('data-dividertheme', 'b').attr('data-role', 'listview').listview(); 
}).delegate('#page', 'changepage', function() { 
    $.mobile.changePage('#dialog', { 
     transition : 'pop', 
     role  : 'dialog'//this means you don't have to declare `data-role="dialog"` on the page if you don't want to 
    }); 
}); 

공지 나는 .listview() 함수 호출 및 두 번째 .delegate() 함수 호출을 체인. 또한 에 대해 .live()을 변경 한 이유는 jQuery 1.7부터 .live()이 감가 상각 되었기 때문입니다. 사용하는 페이지로 이동하려면 $.mobile.changePage() : http://jquerymobile.com/demos/1.1.0-rc.1/docs/api/methods.html

+0

재스퍼에게 다시 한 번 감사드립니다. 당신의 전문 기술은 여전히 ​​가치가 있습니다. 이미 며칠 전에 이미 도움이되었습니다. – Vincent

+0

이 대화 상자를 원하는 곳에 배치 할 수있는 방법이 있습니까? –

관련 문제