jquerymobile (1.4.0)을 사용하고 있습니다. 재설정 팝업을 만드는 자바 스크립트 함수를 호출하는 단일 HTML 파일이 있습니다. 재설정 팝업에는 두 개의 버튼 (예, 아니오)이 있으며, 두 경우 모두 다른 조작을 수행 한 후에 팝업을 닫아야합니다. 닫기 버튼을 누르면jquery mobile을 사용하여 팝업을 닫으려고 할 때 캐치 오류가 발생했습니다.
, 나는 다음과 같은 오류가 나타납니다. 내가 호출해야합니다 제안 ("MyPopup을")을 볼 수 있었다 유래 및 다른 사이트를 검색에서
Uncaught Error: cannot call methods on popup prior to initialization; attempted to call method 'close'
을하기 전에 팝업() 내 내가하고있는 닫는 작업. 나는 ("# theResetPopup")뿐만 아니라 ("#lnkResetPopup") 호출하려고 시도했지만 둘 다 작동하지 않습니다. $ (this) .popup.close();를 호출합니다. (후 ($ this.popup())가 '더'버튼은 실제 버튼이 사라 원인에서 결과가 없습니다에서.
$("#theResetPopup").popup();
$("#theResetPopup").popup("close");
팝업이 사라 않습니다 나는이 (가) btnResetNo 처리기 내에서 다음과 같은 경우 나는 문제가 나는 lnkPopup 방법을 사용하고 있다는 사실과 함께 할 생각하지만, 그것을 해결하는 방법에 관해서는 내가 손해를보고있어
Uncaught HierarchyRequestError: Failed to execute 'appendChild' on 'Node': The new child element contains the parent.
:(
:하지만 나는 다음과 같은 오류가 발생합니다.어떤 도움이라도 대단히 감사합니다, 미리 감사드립니다!
내 .html 파일에서.
<a id='lnkResetPopup' href="#theResetPopup" data-rel="dialog" data-transition="flip" data-role="popup" data-position-to="window" style='display:none;'></a>
<div data-role="page" id="theResetPopup" data-role="popup">
<div data-role="header" id="resetPopupTitle">
Reset
</div>
All progress will be lost. Are you sure?
<center>
<button id="btnResetYes" type="submit" data-theme="a" class="ui-btn-corner-all ui-btn ui-btn-inline ui-icon-check ui-btn-icon-notext">Yes</button>
<button id="btnResetNo" type="submit" data-theme="a" class="ui-btn-corner-all ui-btn ui-btn-inline ui-icon-delete ui-btn-icon-notext">No</button>
</center>
<script>
$("#btnResetYes").click(function() {
gameClass.resetGame();
gameClass.closeResetPopup();
});
$("#btnResetNo").click(function() {
gameClass.closeResetPopup();
//$("#theResetPopup").popup();
//$("#theResetPopup").popup("close");
});
</script>
</div>
내 JavaScript 파일에서.
showResetPopup:function()
{
$("#lnkResetPopup").popup();
$("#lnkResetPopup").popup('open');
$("#resetPopupTitle").html('<center>Reset?</center>');
},
closeResetPopup:function()
{
$("#lnkResetPopup").popup();
$("#lnkResetPopup").popup('close');
},
안녕하세요. 이 문제를 해결하고 피들을 해결할 시간을내어 주셔서 감사합니다. 정말로 감사드립니다. 나는 아직 평판이 나지 않았기 때문에 당신의 대답을 투표 할 수는 없지만 나는 그것을 받아 들였습니다. 대답에 대한 크레딧을주기 위해 내가해야 할 일이 있다면 알려주십시오. – greysqrl
답변을 수락하는 것은 충분합니다. 나는 도움이 될 수있어 기쁘다. – ezanker