jQuery как закрыть диалог/dialog по клику вне его

14.07.2013
Как не странно, но в у jQuert UI нет готового метода для закрытия диалога, если пользователь кликнет вне него.

Вариант решения:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Объявление диалога
$( ".dialog1" ).dialog({
    autoOpen: false,
    modal: true,
    beforeClose: function( event, ui ) {
        // Отключаем обработчик, если диалог закрыт
        $(".dialog1").off("click");    
    }
});


// Закрытие окна авторизации при клике вне него
$(".ui-widget-overlay").live("click", function(){
    // Проверяем, что открыт нужный нам диалог
    // на случай, что закрывать нужно не все
    var isOpen = $( ".dialog1" ).dialog( "isOpen" );
    if(isOpen){
        $(".dialog1").dialog( "close" );    
    }
});


Категории: JQuery UI
Яндекс.Метрика