Вход

Просмотр полной версии : Диалоговое окно плагина jq UI


Aqua77
31.01.2017, 21:32
Как заставить диалоговое окно закрыться при щелчке по любому месту за пределами окна?


$('.dial').dialog({
autoOpen:false; //Изначально закрыто
});

$('img').click(function(){
$('.dial').dialog("open"); //По щелчку по картинки открывается
});

$(document).click(function(){
$('.dial').dialog('close'); //По щелчку на любом месте закрывается
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<div title="Окно" class="dial">
132
</div>

TestUser013
31.01.2017, 21:45
Надо в функции прицепленной на $(document).click чекать родителей (closest). Если родитель ваше окно, то ничего не делать.

рони
31.01.2017, 21:46
Aqua77,
$(document).click(function(event){
if($(event.target).closest("img, .dial").length) return;
$('.dial').dialog('close');
});

Aqua77
31.01.2017, 22:02
Да именно так, спасибо! как оценить ответ?