2012-12-19 5 views
2

새로운 jQM 1.2 팝업 기능을 사용하기 시작한 지 얼마되지 않아 많은 이상한 문제가 발생했습니다. 스크립트에서 팝업을 열려면 data-rel = 'popup'을 클릭하지 말아야합니다. "Easy", 나는 생각했다. 단순히 pop-up으로 설정된 data-role을 가진 popup 요소를 넣은 다음 element.popup ('open')으로 스크립트에서 열면된다. 나는 그저 jQM 불평을 시도했다.jQuery Mobile Popup Woes

잡히지 않은 오류 : 초기화하기 전에 팝업에서 메소드를 호출 할 수 없다. 없음 다음 단순히 (

element.popup() CSS를 수행합니다.

그래서 나는 단순히 모든 데이터-역할을 사용하는 요소의 디스플레이 스타일을 설정하지 않을 생각 '열기'메소드를 호출하는 시도 'display': 'block'). 필요한 경우 스크립트에서 팝업 ('open'). 이것은 처음으로 매력처럼 작동합니다. 그런 다음 팝업을 다시 열려고 시도 할 때 팝업이 표시되지 않습니다. 나는 이것이 내가

여전히
element.popup('open') 

기쁨 뒤에

if ('undefined' == typeof(element.data('ppp')) 
element.popup().css('display','block').data('ppp',1); 

에 내 코드를 변경여 동안 두 번 팝업을 초기화 함께 할 수있는 뭔가가있을 수 있습니다 생각 - 팝업이 데이터를 한 번 속성을 잊어 버린 것처럼 보인다 그것은 닫혔다

어떤 도움이 많이 감사하겠습니다 - 본질적으로 내가하고 싶은 것은 스크립트에서 여러 번 팝업을 열고 닫는 것입니다.

답변

6

매우 간단한 답변이 있습니다. 더미 요소 선언을 통해 팝업 요소를 열려고 팝업 요소에 액세스하려고하면이 인스턴스에서 ppp가 작동하지 않습니다. 팝업을 찾으려면 ID를 지정해야합니다. 아니 이드, 팝업을 얻을 수있는 방법이 없습니다. jQM이 data-role = 'popup'을 볼 때 생성되는 코드를 보면이 점이 분명 해집니다. 팝업 원래는 두 개의 새로운 div의

<div class='ui-popup-screen ui-screen-hidden' id='popupid-screen'></div> 
<div class='ui-popup-container ui-selectmenu-hidden' id='popupid-popup'>..</div> 

에두고 정의 된 경우 원래 팝업 정의 대신에이 페이지의 하단에 작은 이상

<div> 
<!--Placeholder for popupid--> 
<div> 

을 포함하는 빈 DIV 태그 뒤에 잎 원래 정의 된 팝업의 모든 내용은이 후자 div로 옮겨집니다. 원래 팝업에 id를 제공하지 마십시오. jQuery를 통해 유용한 방식으로이 팝업에 액세스하는 메커니즘은 간단하게 무너집니다.