2010-08-28 12 views
1

J'écris du html avec JS dans un div.Problème jQuery FancyBox/Lightbox

comme celui-ci

$("#picdiv").html("<a rel='lightbox' href='pic.jpg'><img src='htumb.jpg'></a>"); 

il est juste un exemple.

Donc, j'ai dans $ (document) .ready Funcktion ce code.

$('a[rel=lightbox]').fancybox(); 

mais si je clique sur le lien, une accéder à la page avec photo ... Je sais que le problème doit être, j'écrire le code html avec js, mais je n'ai pas d'autre option. Alors, comment puis-je faire fonctionner fancybox?

Répondre

0

solution

$('.picture_display').find('a[rel=lightbox]').fancybox(); 
0

Cela est dû au fonctionnement de jQuery. La fonction fancybox ne fonctionnera que pour les éléments actuels de la page et pas ceux ajoutés dynamiquement par javascript.

Une solution rapide pourrait être être modifier le code comme suit:

$("#picdiv").append($("<a rel='lightbox' href='pic.jpg'><img src='htumb.jpg'></a>").fancybox()); 

Je ne sais pas si le fonctionnera ci-dessus, mais l'idée générale est de faire en sorte que tous les nouveaux éléments créés ont le plug-in appliqué.