2011-04-22 4 views
27

fancybox 클로저를 기반으로 간단한 jQuery 함수를 트리거하고 싶습니다. 작동하지 않는 페이지 위 당연히jquery 함수를 fancybox .close() 이벤트에 바인드하십시오.

$.fn.fancybox.close = function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
}); 

의 유일한 fancybox입니다

+0

onclosed 옵션을 사용하여 fancybox를 초기화하는 방법은 어떻습니까? – Matt

답변

44

* 업데이트 : Fancybox 2는 사용되지 않는 것처럼 * 는 @의 mathoiland의 대답을 적어 주시기 바랍니다, "그것은 본다 onClosed 콜백. 이제 afterClose를 사용합니다. " FancyBox 2.x를 사용하는 경우

fancybox 기능에 onClosed 옵션을 전달하십시오.

즉 :

$("<YOUR-SELECTOR>").fancybox({ 
    onClosed: function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
    }) 
}); 
+1

감사합니다 그것은 내게 잘 작동합니다 :-)하지만이 'onClosed'와 같은 작은 따옴표를 추가해야합니다 – Peeyush

+5

작은 따옴표는 필요하지 않습니다. –

+8

'onClosed' depreciated 'afterClose'를 사용하십시오. –

7
$("#myfancybox").fancybox({ 
    'onClosed' : function() { 
      $('#sub_cont').hide(250, function() { 
       $('#IDsearchform input').val(''); 
      }); 
    } 
}); 
32

그냥 참고. Fancybox 2는 onClosed 콜백을 가치 저하시킨 것처럼 보입니다. 이제는 afterClose를 사용합니다.

'콜백'아래의 새 설명서를 참조하십시오. http://fancyapps.com/fancybox/

+2

시간이 지남에 따라 새로운 솔루션으로 응답하는 데 +1 – Korcholis

15

fancybox의 최신 버전에서 당신은 사용해야 할 수도 있습니다 'afterClose'너무

이 코드 'onClosed'대신에 ..

$("<YOUR-SELECTOR>").fancybox({ 
    onClosed: function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
    }) 
}); 

가 될한다 ...

$("<YOUR-SELECTOR>").fancybox({ 
    afterClose: function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
    }) 
});