To jest moje pytanie, a oto mój przykładowy kod.Czy wyciszanie zdarzeń Fancybox Click?
HTML:
<a class="fancybox" rel="group" href="img1.jpg"> <img src="img1_thumb.jpg"> </a>
<a class="fancybox" rel="group" href="img2.jpg"> <img src="img2_thumb.jpg"> </a>
JS:
var header = '<img id="w" src="logo.gif">';
$('.fancybox').fancybox({
afterLoad: function() {
this.wrap.prepend(header);
}, // afterLoad
}); //fancybox
$('#w').click(function() {console.log('clicked');});
Po kliknięciu na miniaturę, aby uruchomić fancybox, afterLoad
spadnie w nagłówku, ale po kliknięciu na zdjęcie i oglądać konsolę nic nie dostajesz.
Myśli? Próbuję użyć metody FancyBox: $.fancybox.close()
, ale jeśli nie mogę uruchomić zdarzenia kliknięcia, jestem zmuszony do użycia go w trybie inline, co wolałbym nie robić ze względu na niestosowanie wbudowanego JS.
Czy mogę umieścić coś w stylu '$ ('# w') na (" kliknij ", function() {$. Fancybox.close()})' w funkcji 'afterLoad' po przygotowaniu nagłówka? –
To się udało! Dzięki wielkie. –
Pomyślałem, że dodam, że funkcja '$ .fancybox.close()' w wywołaniu 'afterLoad' nie była optymalna. Po przewinięciu do następnego obrazu "nowy" nagłówek nie obsługuje zdarzenia. Naprawiłem to, przesuwając moduł obsługi kliknięcia do wywołania zwrotnego 'afterShow'. –