$("#termSheetPrinted").dialog({
autoOpen: false,
resizable: true,
height: 800,
width: 950,
position: 'center',
title: 'Term Sheet',
modal: true,
buttons: {
"Print": function () {
$("#termSheetPrinted").jqprint();
},
"Cancel": function () {
$("#termSheetPrinted").html('');
$(this).dialog("close");
}
}
});此对话框出现在窗口顶部,并带有一个“x”以将其关闭。我想让$(this).dialog("close");在这个'x‘被点击的时候运行,就像’取消‘按钮一样。
我该怎么做呢?
发布于 2011-02-22 04:11:14
我不知道有什么方法可以明确地改变单击"x“时发生的事情,但您可以创建"close”或"beforeClose“事件处理程序,以确保在关闭对话框时发生您需要发生的事情。
发布于 2011-02-22 04:19:26
我将创建一个单独的函数,该函数在Cancel按钮单击和beforeClose事件上调用。(请参阅上面指向close和beforeClose事件的JacobM链接。)
下面是我放在一起的一个超级简单的jsFiddle,它展示了如何执行此操作以及从cancel按钮单击和beforeClose事件调用该函数时的影响(以及它们的触发顺序)。理想情况下,您只需在Cancel按钮函数中使用$(this).dialog("close");,并将$("#termSheetPrinted").html('')调用移动到提取的函数即可。
发布于 2014-12-01 20:23:16
对公认的答案有更多的解释(对于需要更多帮助的所有人;- ):
假设您想要在用户按下x键时在由其id标识的字段中设置焦点
...
$("#myDivId").dialog({
resizable: true,
modal: true,
dialogClass: "cssClass",
close: function() {
$("#focusFieldId").focus();
}
});
... 请参阅:https://jquery-ui.googlecode.com/svn/tags/1.8.24/docs/dialog.html#event-close
https://stackoverflow.com/questions/5070688
复制相似问题