내 관리 작업 페이지를 처음으로 (대부분의 경우) 페이지가 올바르게 작동하고 팝업이 예상대로 트리거되는 링크 버튼이 있습니다. 클릭페이지로 돌아간 후 링크 버튼을 클릭하여 팝업을 시작할 수 없음
<a href="#dialogCompletion" data-rel="popup" data-position-to="window" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-calendar ui-btn-icon-left ui-btn-b" aria-haspopup="true" aria-owns="dialogCompletion" aria-expanded="false">Job Complete</a>
, 내 팝업 발사, 나는 location.href
특별한 값으로 같은 페이지를 다시로드하는라고하며, 자바 스크립트 함수를 호출, 버튼을 클릭, 날짜를 변경할 수 날짜와 버튼을 제공합니다 쿼리 문자열에서 내 데이터베이스가 업데이트됩니다.
하지만이 단계의 매우 일반적인 세트를 수행 할 때, 버튼이 작동하지 않고 팝업이 열리지 않는 :
- 내 관리 작업 페이지에서 버튼을 클릭하면 팝업창이 열립니다 날짜를 설정 , 팝업에서 버튼을 클릭하면 페이지가 다시로드되고 DB 쓰기가 발생합니다.
- 내 아이콘을 클릭하면 기본 페이지로 이동합니다.
- 기본 페이지의 탐색 링크를 클릭하여 작업 관리 페이지 (잠시 전)를 다시 탐색하십시오.
- 팝업을 트리거해야하는 버튼을 클릭하십시오.
페이지를 새로 고침하면 다시 정상적으로 작동하며 동일한 버튼을 클릭하면 팝업이 열립니다. 또는 기본 페이지로 이동 한 후 브라우저를 다시로드하고 작업 관리로 이동하면 작동합니다. 그러나 JQM 페이지 전환 중에 뭔가가 일어나서 내 버튼의 클릭 가능성이 깨져서 팝업을 시작할 수 없게됩니다. 어느 시점에서든 강제로 페이지를 새로 고치면 문제가 해결되고 팝업이 다시 시작됩니다.
사용자가 "버튼을 클릭하지 않을 때마다 페이지를 다시로드하면됩니다"라고 말할 수 없기 때문에 이것은 매우 나쁩니다. 문제를 확인하는 단계는 매우 일반적인 단계이며 엣지 경우는 아닙니다.
한 가지 사실 : 내 링크 버튼의 aria-expanded
속성이 "거짓"인 경우 버튼을 클릭 할 수 있으며 실제로 손가락이 눌려져 팝업이 열립니다. 그러나 팝업이 시작되지 않으면 (위에서 설명한 단계대로) aria-expanded
속성이 "true"로 설정되어 있음을 발견했습니다. 그래서 처음에는 수정이 쉬운 해킹이라고 생각했습니다. jquery를 사용하여 해당 속성을 false로 설정하면 작동합니다. 그러나 그렇지 않습니다. Chrome 개발자 도구에서 나는 틀린 것으로 설정하고 그것을 클릭했지만 성공하지는 못했습니다.
이것은 정말 일반적인/핵심 기능이기 때문에 무서운 JQM의 버그처럼 보입니다. 그러나이 작업을 수행하기 위해 수행 할 수있는 모든 유형의 해킹/수정에 대해 기꺼이 알아볼 수 있습니다. 미리 감사드립니다. 내가 찾을 수
[페이지 탐색] (http://demos.jquerymobile.com/1.4.5/navigation/)에 대한 JQM 문서를 읽었습니까? – deblocker
예. 팝업을 트리거하는 linkbutton이 왜 다른 페이지에서 탐색했기 때문에 깨지거나 비활성화되어야하는 이유는 없습니다. 많은 앱에서 매우 일반적인 사례입니다. – HerrimanCoder