我的jquery ui对话框有以下设置。
$("#dayEditForm").dialog({
autoOpen: false,
height: 475,
width: 750,
title: "Edit",
modal: true,
show: 'drop',
hide: { effect: "drop", direction: "right" },
open: function () {
$("#editForm").validate();
},
close: function () {
alert("closing dialog");
$("#editForm").resetForm();
},
buttons: {
"Save": function () {
var isValid = $("#editForm").valid();
if (isValid) {
// Save stuff here
$(this).dialog("close");
}
},
Cancel: function () {
$(this).dialog("close");
}
}
});
但是,“关闭”事件中的alert("closing dialog")
从未显示。我做错了什么?
更新: 如果我删除此行
hide: { effect: "drop", direction: "right" }
从对话框定义,然后它工作正常......
这是一个错误吗?或预期的行为?
答案 0 :(得分:1)
我相信这是一个在更高版本中解决的错误。见here。 jQuery-ui 1.9.1是解决这个问题的好办法。
如果您不想升级您的来源,Goran在评论中的观点也适用于我。交换close
的{{1}}事件,它应该触发并大致相等,具体取决于您希望实现的目标。
感谢您发布问题并找出与beforeClose
选项的相关性!
答案 1 :(得分:0)
我认为您需要在"Cancel"
部分使用Cancel
而不只是buttons
。