Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Вызвать функцию после ajax-запроса (https://javascript.ru/forum/jquery/47793-vyzvat-funkciyu-posle-ajax-zaprosa.html)

hrundel 07.06.2014 17:43

Вызвать функцию после ajax-запроса
 
Я пытаюсь приладить данное окно на сайт. Там дан пример вызова модального окна:
$("#trigger_id").leanModal();

Дело в том, что я хочу не навешивать обработчик события на элемент с идентификатором #trigger_id, а просто хочу, чтобы окно появилось в тот момент, когда срабатывает ajax-запрос.
$.post(ajaxurl, data, function(response) {
		//Сейчас нужно, чтобы модальное окно открылось. Какой синтаксис нужен для этого?
	});

Каким должен быть javascript-код, чтобы модальное окно открылось в момент получения запроса с сервера?
Сама функция leanModal() создаётся таким образом:
(function($){$.fn.extend({leanModal:function(options){var defaults={top:100,overlay:0.5,closeButton:null};var overlay=$("<div id='lean_overlay'></div>");$("body").append(overlay);options=$.extend(defaults,options);return this.each(function(){var o=options;$(this).click(function(e){var modal_id=$(this).attr("href");$("#lean_overlay").click(function(){close_modal(modal_id)});$(o.closeButton).click(function(){close_modal(modal_id)});var modal_height=$(modal_id).outerHeight();var modal_width=$(modal_id).outerWidth();
$("#lean_overlay").css({"display":"block",opacity:0});$("#lean_overlay").fadeTo(200,o.overlay);$(modal_id).css({"display":"block","position":"fixed","opacity":0,"z-index":11000,"left":50+"%","margin-left":-(modal_width/2)+"px","top":o.top+"px"});$(modal_id).fadeTo(200,1);e.preventDefault()})});function close_modal(modal_id){$("#lean_overlay").fadeOut(200);$(modal_id).css({"display":"none"})}}})})(jQuery);

krasovsky 09.06.2014 07:54

Тебе надо все таки сразу после запроса или именно до? Первое - success/complete, второе - beforesend.
Так же очевидно что что бы открыть окно его надо применить к элементу.Этот элемент можно создать тут же,к примеру
$('<div>').leanModal()
Должно открыться пустой модальный диалог


Часовой пояс GMT +3, время: 02:12.