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