Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从内部关闭Jquery UI对话框_Jquery_Jquery Ui - Fatal编程技术网

从内部关闭Jquery UI对话框

从内部关闭Jquery UI对话框,jquery,jquery-ui,Jquery,Jquery Ui,我有两个页面,比如page1.html和page2.html page1.html包含以下代码: $(document).ready(function() { $('#mydialog').dialog({autoOpen : false, modal : true}); $('#myopenlink').click(function() {

我有两个页面,比如page1.html和page2.html

page1.html包含以下代码:

$(document).ready(function() {
                   $('#mydialog').dialog({autoOpen : false, modal : true});
                   $('#myopenlink').click(function() {
                                             $('#mydialog').load('page2.html');
                                             $('#mydialog').dialog('open');
                                             return false;
                                           });                                 
                   });
page1.HTML中的相关HTML元素:

当然,page1.html也有以下功能:

<div id="mydiv"> </div>

当我单击从page2加载到mydiv的链接时,什么也没有发生(我希望警报会显示)

我做错了什么

谢谢
感谢诸位喜欢这个演示或更新的答案

动态追加演示:

因此,要关闭对话框,只需调用
.dialog('close')
rest,演示将为您提供一个很好的环境

API驻留在这里:

好书:

希望这有帮助

代码

 buttons: {

            'Submit': function() {
                $Dialog_div.dialog('close');
            }
示例代码的其余部分

 buttons: {

            'Submit': function() {
                $Dialog_div.dialog('close');
            }
var$Dialog\u div

function fnOpenDialog() {
    $Dialog_div = $('<div id=\'ThisDialog\'>Hello Page 2</div>').prependTo('body');

    $Dialog_div = $('#ThisDialog').dialog({
        autoOpen: true,
        draggable: true,
        resizable: true,
        title: 'Dialog stack overflow HULK',
        modal: true,
        stack: true,
        height: ($(window).height() * 0.95),
        width: ($(window).width() * 0.9),

        buttons: {

            'Submit': function() {
                $Dialog_div.dialog('close');
            }

        }

    });

}

$('#ClickMe').click(fnOpenDialog);​
函数fnOpenDialog(){ $Dialog_div=$('Hello Page 2')。prependTo('body'); $Dialog_div=$(“#ThisDialog”).Dialog({ 自动打开:对, 真的, 可调整大小:正确, 标题:“对话框堆栈溢出绿巨人”, 莫代尔:是的, 斯塔克:没错, 高度:($(窗口).height()*0.95), 宽度:($(窗口).width()*0.9), 按钮:{ “提交”:函数(){ $Dialog_div.Dialog('close'); } } }); } $('#ClickMe')。单击(fOpenDialog);​
你好,像这样的演示或更新的答案=>这个

动态追加演示:

因此,要关闭对话框,只需调用
.dialog('close')
rest,演示将为您提供一个很好的环境

API驻留在这里:

好书:

希望这有帮助

代码

 buttons: {

            'Submit': function() {
                $Dialog_div.dialog('close');
            }
示例代码的其余部分

 buttons: {

            'Submit': function() {
                $Dialog_div.dialog('close');
            }
var$Dialog\u div

function fnOpenDialog() {
    $Dialog_div = $('<div id=\'ThisDialog\'>Hello Page 2</div>').prependTo('body');

    $Dialog_div = $('#ThisDialog').dialog({
        autoOpen: true,
        draggable: true,
        resizable: true,
        title: 'Dialog stack overflow HULK',
        modal: true,
        stack: true,
        height: ($(window).height() * 0.95),
        width: ($(window).width() * 0.9),

        buttons: {

            'Submit': function() {
                $Dialog_div.dialog('close');
            }

        }

    });

}

$('#ClickMe').click(fnOpenDialog);​
函数fnOpenDialog(){ $Dialog_div=$('Hello Page 2')。prependTo('body'); $Dialog_div=$(“#ThisDialog”).Dialog({ 自动打开:对, 真的, 可调整大小:正确, 标题:“对话框堆栈溢出绿巨人”, 莫代尔:是的, 斯塔克:没错, 高度:($(窗口).height()*0.95), 宽度:($(窗口).width()*0.9), 按钮:{ “提交”:函数(){ $Dialog_div.Dialog('close'); } } }); } $('#ClickMe')。单击(fOpenDialog);​
要实际关闭事件处理程序中的对话框,请使用以下命令:

$(this).closest('.ui-dialog-content').dialog('close');
它将把DOM从新加载的内容返回到原来的div中,现在有一个对话框将其包装起来

我看不出您发布的用于实际注册事件的代码有任何明显的错误,但据我所知,这里根本不需要使用事件委派


由于只有在
.load
完成后才执行注册,因此可以直接在
#mycloselink
上注册事件处理程序,以实际关闭事件处理程序中的对话框。请使用以下方法:

$(this).closest('.ui-dialog-content').dialog('close');
它将把DOM从新加载的内容返回到原来的div中,现在有一个对话框将其包装起来

我看不出您发布的用于实际注册事件的代码有任何明显的错误,但据我所知,这里根本不需要使用事件委派


由于直到
.load
完成后才执行注册,因此可以直接在
#mycloselink

上注册事件处理程序。是否尝试了
$('#myopenlink')。单击(函数(evt){evt.preventDefault();$(this).dialog('close');})?这是一样的吗?我不知道是不是同一个问题。我尝试了建议的解决方案,但没有效果。不确定该问题是指在框内加载.html页面还是仅仅向其注入html。您是否尝试过
$('#myopenlink')。单击(函数(evt){evt.preventDefault();$(this.dialog('close');))?这是一样的吗?我不知道是不是同一个问题。我尝试了建议的解决方案,但没有效果。不确定该问题是指在框中加载.html页面还是仅向其中注入html。我想从加载页面中的html元素关闭对话框,而不是使用对话框按钮。@AmirW-hmmm您的意思是;是否从父窗口元素关闭对话框?对不起,如果我的声音很粗-我只是想确保这次我得到了,干杯@AmirW确定不是从对话框按钮而是子元素?赞成?i、 e.对话框中的元素?是的。我编辑了这个问题,也许现在它更清楚了(也更关注这个问题)。@AmirW你看,伙计:现在我在飞行中添加了按钮。希望此帮助我希望从加载页面内的HTML元素关闭对话框,而不是使用对话框按钮。@AmirW-hmmm您的意思是;是否从父窗口元素关闭对话框?对不起,如果我的声音很粗-我只是想确保这次我得到了,干杯@AmirW确定不是从对话框按钮而是子元素?赞成?i、 e.对话框中的元素?是的。我编辑了这个问题,也许现在它更清楚了(也更关注这个问题)。@AmirW你看,伙计:现在我在飞行中添加了按钮。希望这有助于您查看已编辑的问题。我从问题中删除了对话。看起来我的问题是动态生成HTML的事件处理程序中的一些基本问题。Yep@AmirW这是对的:))我想,如果你使用firebug,你可以检查元素,你可以看到这一点,我想你可以使用下面的演示,如果你想我可以删除我的帖子,干杯+1@AmirW是的,我在第一次阅读时就忽略了这一点-所以你真正的问题是关于活动授权,而不是对话框?@AmirW我想:你想看我下面的帖子吗?是的?请看编辑后的问题。我从问题中删除了对话。看起来我的问题是动态生成HTML的事件处理程序中的一些基本问题