Диалоговое окно jQuery, закрываясь, когда щелчок снаружи

Я знаю, что могу использовать следующее для закрытия диалогового окна путем нажатия снаружи:

$('.ui-widget-overlay').click(function() { $("#dialog").dialog("close"); });

Но как я изменяю это так, это работает на каждое диалоговое окно, т.е. я хочу сказать близко какое-либо диалоговое окно, поскольку мы имеем несколько на странице и были бы легче иметь одну строку кода?

1
задан Igor K 28 July 2010 в 10:12
поделиться

2 ответа

Может быть, это перебор, но попробуйте

$('.ui-widget-overlay').live('click',
    function() {
        $(".ui-dialog").dialog("close");
    }
);

Вам нужно запустить этот код на своей странице только один раз, метод live должен заставить его работать каждый раз, когда вы открываете диалог.

РЕДАКТИРОВАТЬ: Если это не работает, это может быть ошибка .dialog . Попробуйте

$('.ui-widget-overlay').live('click',
    function() {
        $(".ui-dialog").each(
            function() {
               $(this).dialog("close");
            }
        );
    }
);
1
ответ дан 2 September 2019 в 22:39
поделиться

вы можете присвоить каждому диалогу класс

, а затем выбрать его, запустить на каждом и объединить его, даже если он не открывается, он будет работать:

$('.ui-widget-overlay').click(function() { $(".dialogs").each(function()
 {$(this).dialog("close");}) });  
1
ответ дан 2 September 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: