Probleme d'execution du code javascript dans lightbox/prettyPhoto [Résolu]

Signaler
Messages postés
8
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
27 mars 2013
-
Messages postés
8
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
27 mars 2013
-
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

Messages postés
65
Date d'inscription
mardi 1 novembre 2005
Statut
Membre
Dernière intervention
8 juin 2012

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>
Messages postés
65
Date d'inscription
mardi 1 novembre 2005
Statut
Membre
Dernière intervention
8 juin 2012

Bonjour,

Si tu ne donnes pas ton code qui refuse de fonctionner, ça va être difficile de faire quelque chose pour toi...
Messages postés
8
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
27 mars 2013

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
Messages postés
8
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
27 mars 2013

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 :(
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
2
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.
Messages postés
8
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
27 mars 2013

je dois mettre le code du div dans un fichier impression.html parce que ça doit être dynamique
Messages postés
8
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
27 mars 2013

oui ça marche très bien
merci pour votre aide