Usando a versão 1.2 do fancybox enfrentei um problema, aparentemente sem razão: associava um .click() por jQuery a um link e ele não tinha o comportamento esperado.
Depois de muito tentar (acho que) percebi o que acontecia. Ao usar conteúdo inline no fancybox, ele copia os elementos para formar a janela que se espera. Associando normalmente um comportamento a qualquer elemento, você associa ao original, a cópia não herda. Ou seja, no meu caso o link que era exibido não tinha mais associado o comportamento que eu queria.
A solução é associar na hora em que a janela é aberta, pela chave ‘callbackOnShow’ (na versão 1.2). No meu caso ficou assim:
$(document).ready(function () {
(...)
$("#page-index-call").fancybox({
width : '1000px',
padding : 0,
overlayOpacity : 1,
overlayColor : '#000',
hideOnOverlayClick : false,
hideOnContentClick : false,
enableEscapeButton : false,
showCloseButton : false,
<strong>callbackOnShow : function () {
$("#fancy_content .box_close").click(function(e) {
e.preventDefault();
e.stopPropagation();
$("#wrapper").show();
$.fn.fancybox.close();
});
}</strong>
});
(...)
});
Não sei se na versão 1.3 (atual) já consertaram, mas se continuar, talvez seja preciso alterar a chave, uma vez que a API foi atualizada.
Eu não estou conseguindo validar um formulário com jquery que foi carragado pelo fancybox através de um iframe.
me ajudem!