为什么我的按钮不会关闭对话框?
以下是代码和小提琴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();
});
});
答案 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状态。