Итак, у меня есть функция, которая передает данные через AJAX, а затем отображает диалоговое окно, если оно было успешным или нет. Все работает нормально, но затем я хочу, чтобы опция передачи этой функции диалога выполняла дополнительную функцию (необязательно), которая будет выполнять дополнительные функции. Вот что у меня есть:JQuery: Передача функции функции, которая не требуется
// the work
if (data._response.success == 'true') {
$("#suppliers_grid").trigger("reloadGrid");
$('#manage-suppliers-form').fullFormReset();
alertDialog('Supplier '+ action +' successfully!','Success',$('#manage-suppliers-form :input:visible:first').focus());
} else {
alertDialog('Supplier was not '+ action +' successfully!<br />Please try again or report this to the administrator.','Error','ui-state-error');
}
// the alertDialog function
function alertDialog(message,title,cssClass,closeFunction) {
title = typeof title !== 'undefined' ? title : 'Notice';
cssClass = typeof cssClass !== 'undefined' ? cssClass : 'ui-state-highlight';
if (cssClass=='ui-state-error') {
icon = 'ui-icon-alert';
}
else {
icon = 'ui-icon-info';
}
var dialog = $('<div><p><span class="ui-icon '+ icon +'"></span>'+ message +'</p></div>');
dialog.dialog({
modal: true,
title: title,
buttons: {
Ok: function() { $(this).dialog("close"); }
},
close: closeFunction()
});
}
1) выше не работает, если я прохожу closeFunction
2) даже не тестировал -without- передавая ей что-то, но я уверен, это тоже не сработает. closeFunction должно быть ДОПОЛНИТЕЛЬНО
3) Я не могу просто поместить строку «focus» кода после вызова alertDialog. Даже при том, что это работает (фокусируется в фоновом режиме). Как только кто-то нажимает «ok» на alertDialog, фокус теряется - поэтому его нужно вызвать при закрытии alertDialog.
Спасибо, что не работал - но я использовал некоторые из того, что вы упомянули, и прошел, и объект «$ („# управление-поставщик-форма: вход: видимая: первый“)» вместо функции «$ ('# manage-Supplices-form: input: visible: first'). focus()", а затем просто вызвал фокус на объект в закрытой части диалога. Не такой мощный, как возможность передать функцию, но для чего мне это нужно в этот самый момент - достаточно. – SupaMonkey