Fancybox не работает после успешного вызова ajax
Почему не работает fancybox после проверки правильности в C#?
Fancybox это вызов после use PageMethods.ValidacionIsAdmin(onSuccessValidacionIsAdmin);
если это действительно, возврат базы данных, выполненной в:
[WebMethod]
public static DeleteAccountResult ValidacionIsAdmin()
{
DeleteAccountResult res = new DeleteAccountResult();
... // Query to database with ok results
res.ok = true;
return res;
}
Вызов ajax в клиенте для проверки:
jQuery(".delete a").click(function () {
function onSuccessValidacionIsAdmin(data) {
if (data.ok == true) {
jQuery("#<%= divError.ClientID %>").hide();
jQuery(".delete a").fancybox({
content: jQuery('#eliminar-cuenta').html(),
modal: false,
showCloseButton: false,
onComplete: function () {
jQuery("input[type=checkbox]").uniform()
jQuery('#privacidad').fancybox({
enableEscapeButton: false,
hideOnOverlayClick: false,
showCloseButton: true,
onComplete: function () {
jQuery('#fancybox-close').off().on('click', function (e) {
e.preventDefault();
jQuery(".delete a").click();
});
}
});
}
});
}
else {
jQuery("#<%= divError.ClientID %>").show();
jQuery("#lblError")[0].innerHTML = data.strError;
}
}
PageMethods.ValidacionIsAdmin(onSuccessValidacionIsAdmin);
});
Поведение похоже на то, что после нажатия на ссылку, открывающую fancybox, не открывают его, похоже, что оно "обновляет" сеть, и я нажимаю на ту же ссылку, и тогда она работает...
Я считал, что фантазия не работает после вызова ajax (в моем случае проверка C#)
Мой вопрос: почему это происходит?
1 ответ
После нескольких часов расследования я получил решение. Любопытно, что во всех свойствах, например, писать контент: ... Я заменил как: "контент": ...
Я добавил свойство 'type':'html'
После того, как сделать это, fancybox работал.
jQuery(".delete a").fancybox({
'content': jQuery('#eliminar-cuenta').html(),
'type': 'html',
'modal': false,
'showCloseButton': false,
'onComplete': function () {
jQuery("input[type=checkbox]").uniform()
jQuery('#privacidad').fancybox({
enableEscapeButton: false,
hideOnOverlayClick: false,
showCloseButton: true,
onComplete: function () {
jQuery('#fancybox-close').off().on('click', function (e) {
e.preventDefault();
jQuery(".delete a").click();
});
}
});
}
});