Probleme d'execution du code javascript dans lightbox/prettyPhoto

Résolu
dodobn Messages postés 8 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 27 mars 2013 - 8 juin 2012 à 13:23
dodobn Messages postés 8 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 27 mars 2013 - 8 juin 2012 à 14:58
Bonjour,
je suis entrain de développer un site où j'utilise le plugin prettyPhoto/Ajax
pour afficher un popup qui contient après un div un bouton imprimer
mon problème c'est que prettyPhoto 3.1 n'execute pas le code javascript
merci de me répondre

7 réponses

Utilisateur anonyme
8 juin 2012 à 14:32
J'ai regardé le tout et voilà mes conclusions ;-) :
Le code de la popup est à l'extérieur car il est chargé via Ajax.

Du coup, le code de la popup est ajouté dynamiquement au DOM au clic sur "Imprimer" (Celui qui ouvre la popup). Ce qui se passe, c'est, comme le dit L0ci, que le code la popup est chargé après l'ouverture de la page, donc l'évènement n'est jamais ajouté au ""...

A mon avis, il faut mettre ton ajout d'évènement après le chargement de la popup. Je crois, après avoir survolé la doc, que c'est fait avec "changepicturecallback".

Il faut tenté quelque chose de ce style là (j'ai pas les moyens de tester là) :
<script>
$(document).ready(function() {
$("a[rel^='prettyPhoto']").prettyPhoto({
changepicturecallback : function(){
$("#impression").click(function(){
alert("imprimer");
});
}
});

});
</script>
3
Utilisateur anonyme
8 juin 2012 à 13:42
Bonjour,

Si tu ne donnes pas ton code qui refuse de fonctionner, ça va être difficile de faire quelque chose pour toi...
0
dodobn Messages postés 8 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 27 mars 2013
8 juin 2012 à 13:55
code page principale
<html>
<head>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/jquery.prettyPhoto.custom.min.js"></script> 
<script>
$(document).ready(function() {
$("a[rel^='prettyPhoto']").prettyPhoto();
$("#impression").click(function(){
alert("imprimer");
});
});
</script>
</head>

   class="print">Imprimer 



</html>

pour le code de la page du popup


exemple de page à afficher


imprimer
0
dodobn Messages postés 8 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 27 mars 2013
8 juin 2012 à 13:57
le popup s'affiche avec son contenu très bien mais le problème en cliquant sur le bouton imprimer qui se trouve dans le popup pas d'alert :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_L0ci Messages postés 224 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 11 juin 2013 7
8 juin 2012 à 14:10
Bonjour,

tu es déjà un problème de guillemets dans ta balise a. Ensuite, pourquoi est ce que le code de ta popup se trouve en dehors de ton body?
Si ton div se charge après le javascript tu ne pourra pas lier l'action a ta balise.

Tu peux aussi utiliser un onclick() pour appeler directement la fonction a exécuter.
0
dodobn Messages postés 8 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 27 mars 2013
8 juin 2012 à 14:53
je dois mettre le code du div dans un fichier impression.html parce que ça doit être dynamique
0
dodobn Messages postés 8 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 27 mars 2013
8 juin 2012 à 14:58
oui ça marche très bien
merci pour votre aide
0
Rejoignez-nous