Как определить две разные близкие поведения для диалогов JQuery UI? - PullRequest
0 голосов
/ 15 марта 2011

Я использую диалоги jquery, и мне пришлось сделать кнопку «ОК», чтобы закрыть текущий диалог. Мне удалось сделать это с опцией:

buttons: {"OK": function() { $(this).dialog("close");  }}

Пока все хорошо.

Проблема в том, что исходная кнопка закрытия (в верхнем правом углу) больше не должна закрывать диалог, но спросит вас, хотите ли вы вместо этого очистить элементы формы внутри диалога (и вызвать функцию для этого) ; и я не могу использовать "beforeClose" для этого, потому что это также повлияет на поведение кнопки ok.

1 Ответ

0 голосов
/ 15 марта 2011

Я не знаю, возможно ли зафиксировать, что кнопка закрытия была нажата или нет (я не смог ничего найти, и мне никогда не приходилось делать это раньше).Однако другой альтернативой является полное скрытие кнопки закрытия и предоставление пользователю кнопок самостоятельно.Как то так ...

$("#dialog-message").dialog({
    modal: true,
    buttons: {
        OK: function() {
            $(this).dialog("close");
        },
        Close: function() {
            // Do stuff...
        }
    },
    beforeClose: function(event, ui) {},
    closeOnEscape: false,
    open: function(event, ui) {
        // This hides the close button.
        $(this).parent().children().children('.ui-dialog-titlebar-close').hide();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...