J'appelle un lien jquery.fancybox à partir de l'événement click lié à une ligne de table. L'action fonctionne bien la première fois, cependant, si je ferme la fancybox et que je clique de nouveau sur n'importe quelle ligne, la fonction anonyme liée à la ligne se déclenche toujours, mais fancybox ne démarre pas. Voici le javascript j'utilise:jquery fancybox déclenché cliquer ne fonctionne qu'une fois
$jq(document).ready(function() {
$jq('a.edit').fancybox({
'overlayShow': true,
'hideOnContentClick': false
});
$jq('tr').click(function() {
alert("clicked");
$jq(this).find('a.edit').trigger("click");
});
});
Ainsi donc dans le code HTML je ancres classés comme « modifier »:
<tr>
<td>...</td>
<td>
<a href="/candidates/22/qualifications/16/edit" class="edit">edit</a>
</td>
</tr>
je peux toujours voir la zone d'alerte, et je peux changer la trigger/click() appelle remove() et cela va "fonctionner", supprimant les ancres à plusieurs reprises. Je peux aussi cliquer plusieurs fois manuellement sur le lien $ ('. Edit') et tout va bien. Alors, comment se fait-il que l'événement de clic d'ancrage ne se déclenche qu'une fois lorsqu'il vient à son tour de l'événement de clic de ligne? Est-ce quelque chose à voir avec l'appel que je fais à $ (ceci) quand je décris la fonction?
peut-être ne peut pas trouver le « a.edit » dans la deuxième exécution? avez-vous essayé de sortir '$ jq (this) .find ('a.edit'). length'? – naivists