关闭'x'的JQuery对话框与Cancel相同

时间:2011-02-21 20:05:07

标签: jquery-ui-dialog

$("#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”以关闭它。我希望{“1}}在点击”x“时运行,就像”取消“按钮一样。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

我不知道如何明确更改单击“x”时发生的情况,但您可以创建“close”或“beforeClose”事件处理程序以确保这些内容当对话框关闭时,你需要发生这种情况。

答案 1 :(得分:0)

我创建了一个单独的函数,在单击取消按钮和beforeClose事件时调用该函数。 (参见JacobM上面关闭和beforeClose事件的链接。)

这是一个非常简单的jsFiddle我把它们放在一起,展示如何从取消按钮点击和beforeClose事件(以及它们触发的顺序)中调用该函数。理想情况下,您只需在“取消”按钮功能中设置$(this).dialog("close");,然后将$("#termSheetPrinted").html('')调用移至您提取的功能。

答案 2 :(得分:0)

对接受的答案稍作解释(对于我们所有需要更多帮助的人;-)):

当用户按下[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