11550 sujets
Ca marche pas je sais pas pourquoi, voici mon code :
Ceci s'execute dans mon index.php, ensuite une page est appelee par Ajax dans laquelle il y a un <a href class='truc'>, mais un click sur ce lien ne fait pas apparaitre l'alert JS.
PS: j'ai toujours voulu savoir, dew tu as vraiment cette tete-la en vrai ?
Modifié par apericube (13 Oct 2009 - 22:28)
$(".truc").live("click", function(){
alert('tronconneuse');
});
Ceci s'execute dans mon index.php, ensuite une page est appelee par Ajax dans laquelle il y a un <a href class='truc'>, mais un click sur ce lien ne fait pas apparaitre l'alert JS.
PS: j'ai toujours voulu savoir, dew tu as vraiment cette tete-la en vrai ?

Modifié par apericube (13 Oct 2009 - 22:28)
Salut,
En fait c'est la fonction passé dans live qui modifier le dom. Donc pour toi c'est $.ajax (ou la réponse mais à ce moment il faut utilisé un trigger...).
regarde dans la doc pour d'autre exemple
En fait c'est la fonction passé dans live qui modifier le dom. Donc pour toi c'est $.ajax (ou la réponse mais à ce moment il faut utilisé un trigger...).
$(".truc").click(function(){
alert('tronconneuse');
});
$("a.ajax").live("click", function(){
$.ajax(...);
});
regarde dans la doc pour d'autre exemple
D'apres ce que j'ai compris la fonction passee dans live() c'est ce qu'on veut voir marcher apres modification du DOM (mais qui, sans live, marche plus). Donc je comprend pas ce que tu dis jo_link_noir
En fait j'ai un popup jquery qui apparait en cliquant sur un lien, le contenu de ce popup etant une page appelee avec Ajax. Dans cette page se trouvent des liens associes a des actions jQuery, qui pour l'instant ne marchent pas.
Je trouve ca chelou que jQuery inclue pas une solution ultra-simple pour resoudre ce type de probleme bateau. Je veux dire, Ajax est si facile avec jQuery! Pourquoi c'est pas le cas aussi pour ce probleme-la ?

En fait j'ai un popup jquery qui apparait en cliquant sur un lien, le contenu de ce popup etant une page appelee avec Ajax. Dans cette page se trouvent des liens associes a des actions jQuery, qui pour l'instant ne marchent pas.
Je trouve ca chelou que jQuery inclue pas une solution ultra-simple pour resoudre ce type de probleme bateau. Je veux dire, Ajax est si facile avec jQuery! Pourquoi c'est pas le cas aussi pour ce probleme-la ?
Salut,
Non c'est juste un appel Ajax c'est tout. Dans cette page Ajax j'ai par exemple un lien HREF CLASS='TRUC', et dans le jQuery de ma page principale j'ai du JS associe a cette classe 'TRUC', genre :
$(document).ready(function () {
$(".truc").click(function(){
alert ('mais OUAIS!');
});
});
Si le lien HREF CLASS='TRUC' est placé dans ma page principale, l'alert() se declenche, mais si le lien est dans une page appelee avec Ajax, il s'execute pas.
Je comprend bien pourquoi, parce que du point de vue de jQuery le (document).ready c'est la page principale et elle seule, alors que la page Ajax est un autre document.
Mais je dois faire quoi exactement avec live() ? J'ai essaye de faire comme expliqué dans leur exemple mais ca marche pas chez moi.
Non c'est juste un appel Ajax c'est tout. Dans cette page Ajax j'ai par exemple un lien HREF CLASS='TRUC', et dans le jQuery de ma page principale j'ai du JS associe a cette classe 'TRUC', genre :
$(document).ready(function () {
$(".truc").click(function(){
alert ('mais OUAIS!');
});
});
Si le lien HREF CLASS='TRUC' est placé dans ma page principale, l'alert() se declenche, mais si le lien est dans une page appelee avec Ajax, il s'execute pas.
Je comprend bien pourquoi, parce que du point de vue de jQuery le (document).ready c'est la page principale et elle seule, alors que la page Ajax est un autre document.
Mais je dois faire quoi exactement avec live() ? J'ai essaye de faire comme expliqué dans leur exemple mais ca marche pas chez moi.
apericube a écrit :
PS: j'ai toujours voulu savoir, dew tu as vraiment cette tete-la en vrai ?![]()
Ah les jeunes...

apericube a écrit :
alors que la page Ajax est un autre document
Oui mais non. Ton contenu récupéré en Ajax est utilisé pour modifier le document existant. Ça n'explique pas ton problème.
apericube a écrit :
Mais je dois faire quoi exactement avec live() ?
Bah, à priori, comme dans la doc.
À vérifier:
- Tu utilises bien jQuery 1.3+?
- Erreurs JS?
- Un problème avec le contenu inséré dans la page (DOM bien construit, pas de souci avec la classe "truc")?
Florent : effectivement avec la version 1.3 ca marche BEAUCOUP MIEUX !
Je pensais que la 1.3 n'etait pas requise a cause d'une phrase dans la doc de live() : "Added in jQuery 1.3: Binds a handler to an event ...", me laissant entendre que live() existait et fonctionnait deja avant la 1.3.
Merci en tout cas.
Je pensais que la 1.3 n'etait pas requise a cause d'une phrase dans la doc de live() : "Added in jQuery 1.3: Binds a handler to an event ...", me laissant entendre que live() existait et fonctionnait deja avant la 1.3.
Merci en tout cas.