尝试使用jquery mobile关闭弹出窗口时出现未捕获错误

尝试使用jquery mobile关闭弹出窗口时出现未捕获错误,jquery,jquery-mobile,popup,initialization,Jquery,Jquery Mobile,Popup,Initialization,我正在使用jquerymobile(1.4.0)。我有一个html文件,它调用一个javascript函数来创建一个重置弹出窗口。重置弹出窗口有两个按钮(是、否),在这两种情况下,都应在执行其他操作后关闭弹出窗口 按下关闭按钮时,我收到以下错误: 未捕获错误:在初始化之前无法在弹出窗口上调用方法; 试图调用方法“close” 通过搜索stackoverflow和其他站点,我可以看到一些建议,建议我在执行关闭操作之前调用(“mypopup”).popup()。我试着打电话给(“#theResetP

我正在使用jquerymobile(1.4.0)。我有一个html文件,它调用一个javascript函数来创建一个重置弹出窗口。重置弹出窗口有两个按钮(是、否),在这两种情况下,都应在执行其他操作后关闭弹出窗口

按下关闭按钮时,我收到以下错误:

未捕获错误:在初始化之前无法在弹出窗口上调用方法; 试图调用方法“close”

通过搜索stackoverflow和其他站点,我可以看到一些建议,建议我在执行关闭操作之前调用(“mypopup”).popup()。我试着打电话给(“#theResetPopup”)和(#lnkResetPopup”),但这两个都没用。调用$(this.popup.close();(在($this.popup()

如果我在btnResetNo处理程序中执行以下操作

$("#theResetPopup").popup();
$("#theResetPopup").popup("close");
弹出窗口确实消失,但我收到以下错误:

未捕获的HierarchyRequestError:无法在上执行“appendChild” “节点”:新的子元素包含父元素

我认为问题在于我正在使用LNKPOUP方法,但我不知道如何修复它(

非常感谢您的帮助,提前谢谢

从我的.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>

重置
所有进度都将丢失。你确定吗?
对
不
$(“#btnreseties”)。单击(函数(){
gameClass.resetGame();
gameClass.closeResetPopup();
});
$(“#btnResetNo”)。单击(函数(){
gameClass.closeResetPopup();
//$(“#theResetPopup”).popup();
//$(“theResetPopup”).popup(“关闭”);
});
从我的JavaScript文件

showResetPopup:function()
{
    $("#lnkResetPopup").popup();
    $("#lnkResetPopup").popup('open');

    $("#resetPopupTitle").html('<center>Reset?</center>');
},

closeResetPopup:function()
{
    $("#lnkResetPopup").popup();
    $("#lnkResetPopup").popup('close');
},
showResetPopup:function()
{
$(“#lnkresetpoop”).popup();
$(“#lnkresetpoup”).popup('open');
$(“#resetpopuptle”).html('Reset?');
},
closeResetPopup:function()
{
$(“#lnkresetpoop”).popup();
$(“#lnkresetpoup”).popup('close');
},

您似乎混合了对话框和弹出标记

这是一个正在工作的

该链接采用popup的数据rel,而popup div失去页面角色并采用以下数据位置:

<div data-role="page" id="my_view">
    <div data-role="header">
         <h1>My page</h1> 
    </div>
    <div role="main" class="ui-content"> 

        <a id="lnkResetPopup" href="#theResetPopup" data-transition="flip" data-rel="popup" class="ui-btn">Reset </a>

    </div>

    <div id="theResetPopup" data-role="popup" data-position-to="window" data-dismissible="false">
        <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>
    </div>
</div>

嗨,ezanker。谢谢你花时间回答这个问题,谢谢你解决这个问题,谢谢你拨弄我:)我真的很感激。我不能投票支持你的答案,因为我还没有名声,但我已经“接受”了。如果我还需要做些什么来证明你的答案,请告诉我。接受答案就足够了。我很高兴我能帮上忙。
$(document).on("click", "#btnResetYes", function () {
    $("#theResetPopup").popup('close');
});
$(document).on("click", "#btnResetNo", function () {
    $("#theResetPopup").popup('close');
});