1

为什么我的按钮不会关闭对话框?

这是代码和小提琴http://jsfiddle.net/ThxjS/

$(function() {
    $( "<div id='dialogMy'><button>close</button>test</div>" ).dialog({

        resizable: false,
        height:140,
        modal: true

    });


          $("button").click(function(){

                 //why wont it close? 
                  //$('#dialogMy').close();
                  $('#dialogMy').destroy();

          });

});
4

4 回答 4

5

您错误地调用了destroy,您需要在对话框中调用它,例如:

   $('#dialogMy').dialog('destroy');
于 2012-10-18T19:34:48.687 回答
3

你想要.dialog('close').destroy()不是有效的方法。

正如其他人所提到的,您可以通过调用来处理它,.dialog('dispose')但请记住,对话框将消失并且以后无法再次重新引用。如果这是一个警告弹出窗口或这样的可能需要,但如果您打算重新使用模态,我建议只是dialog('close').

于 2012-10-18T19:33:14.090 回答
3

.destroy并且.close不是 jQuery Object 的方法。

有 jQuery UI Dialog 的方法。

因此,如果您尝试将其传递给 jQuery 对象,它将无法识别它们。

您需要将这些属性传递给 .dialog() 小部件..

$('#dialogMy').dialog('destroy');
$('#dialogMy').dialog('close');
于 2012-10-18T19:40:14.590 回答
1

您使用了错误的功能。你需要说:

jQuery('#dialogMy').dialog('close');

根据jQuery UI 对话框文档

关闭()

关闭对话框。

破坏()

完全删除对话框功能。这将使元素返回到它的预初始化状态。

于 2012-10-18T19:34:42.107 回答