В моем весеннем проекте у меня есть этот код, чтобы открыть диалог (используя jquery-ui), где я показываю содержимое некоторых страниц:
$( ".dialog" ).dialog({
autoOpen: false,
closeOnEscape: true,
closeText: "fechar",
show: {
effect: "fadeIn",
duration: 1000
},
hide: {
effect: "fadeOut",
duration: 1000
},
close: function( event, ui ) {
//
}
});
function open_dialog(url, dialog_div, func) {
$.ajax({
type: "GET",
url: url
}).done(function(data){
var $temp = $('<div/>', {html:data});
var text = $(dialog_div).find('#text');
$( dialog_div ).dialog({ title: $temp.find('title').text() });
$( text ).html($temp.remove('head').html());
$( dialog_div ).dialog({ height: 720 });
$( dialog_div ).dialog({ width: 720 });
$( dialog_div ).dialog( "open" );
});
}
$(document).on('click', '.popup', function (event) {
event.preventDefault();
var action = $(this).attr('href');
var target = $(this).data('target');
var func = $(this).data('function');
var div = $("#"+target);
open_dialog(action, div, func);
});
Мой вопрос: есть ли способ вызвать функцию, переданную как параметр для open_dialog внутри события диалога "close: function (vent, ui)" в первом блоке кода?
Используйте следующую ссылку, которая ответит на ваш вопрос:
http://api.jqueryui.com/dialog/#event-close