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

时间:2012-10-18 19:31:29

标签: jquery jquery-ui

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

以下是代码和小提琴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 个答案:

答案 0 :(得分:5)

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

   $('#dialogMy').dialog('destroy');

答案 1 :(得分:3)

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

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

答案 2 :(得分:3)

.destroy.close不是jQuery对象的方法。

有jQuery UI Dialog的方法。

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

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

$('#dialogMy').dialog('destroy');
$('#dialogMy').dialog('close');

答案 3 :(得分:1)

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

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

根据the jQuery UI Dialog documentation

  

的close()

     

关闭对话框。

     

破坏()

     

完全删除对话框功能。这将使元素返回到pre-init状态。