$(document).ready(function(){
var ff = $('.yyy').html();
var pageModal = Drupal.dialog(ff, {
title: 'Modal on me',
dialogClass: 'button_mini',
width: 200,
height: 400,
autoResize: true,
close: function (event) {
$(event.target).remove();
}
});
$('.button_xxx').click(function(){
pageModal.showModal();
});
});
}(jQuery));
Все бы хорошо, но закрывается только кликом на кнопку, а надо бы чтобы и кликом на место за окном. Какой метод( свойство) за это отвечают?
Или может кто подскажет, где все свойства и методы друпаловского dialog() можно глянуть?
Комментарии
Например https://stackoverflow.com/questions/30480834/close-jquery-modal-dialog-b...
А как в конкретном примере? На dialog( "close" ) ругается, если его внутрь разместить
title: null,
dialogClass: 'button_mini',
width: 100,
height: 220,
dialogClass: "no-titlebar",
autoResize: true,
open: function(event){
$('.ui-widget-overlay').bind('click', function() {
$('.yyy').dialog( "close" );
});
},
close: function (event) {
$(event.target).remove();
}
});
cannot call methods on dialog prior to initialization; attempted to call method 'close'
Почему то просто к
$('.ui-widget-overlay')
на клики не реагирует.bind('clickoutside'
Да, почти, но в лоб пример не работает, нужно схитрить
var dd = $(this).dialog(this);
$('.ui-widget-overlay').on('click', function() {
dd.dialog( 'close' );
});
},
Вот так работает все отлично, главное переменную вынести за последний "клик".