Effectivement !
Et après génération du code avec le Request.HTML pourquoi là ca bloque ?
C'est la question :)
Version imprimable
Effectivement !
Et après génération du code avec le Request.HTML pourquoi là ca bloque ?
C'est la question :)
Je ne suis pas sûr d'avoir compris.
1) Vous ouvrez la page. Il y a des liens avec la classe "click". Sur lesquels on ne peut pas cliquer.
2) Vous cliquez sur un autre lien qui lance l'Ajax. Résultat, vous avez un nouveau lien de classe "click", c'est-à-dire sur lequel on ne peut pas cliquer.
C'est bien ça ?
Donc pour le 1), il faut mettre le code
dans le domready.Code:
1
2
3 $$('.click').addEvent('click', function(e) { e.stop(); });
Pour le 2), il faut mettre le code dans le onSuccess car le lien nouvellement créé n'est pas affecté par du code exécuté avant sa création.
C'est exactement ca :)
Mais dans la réalisé il ne s'agit pas de lien qui deviennent non cliquable mais d'une dizaine de script qui interagisse avec le résultat du request.HTML.
Pour éviter de faire des répétitions de code, je pensais qu'il était possible de recharger le contenu du request.HTML ou du DOM ?
Je ne sais pas pour le reparsing dom mais en tout cas aucun des scripts ne pourra interragire avec l'élément tant que celui-ci n'est pas créé. Alors que le code soit dans le onSuccess ou bien dans une autre fonction déclenchée après le onSuccess, peut importe. Mais il faut que l'élément soit déjà créé. Tout simplement.
Merci pour ta réponse.
Ca a le mérite d'être clair.
Ps : dernière petite question :)
comment fais tu pour faire des fonctions déclencheur ?
Merci à toi
Je ne sais pas si c'est possible en Javascript. Je pense qu'il faut créer une fonction qui sera accessible de partout, même si elle joue avec des éléments qui ne sont pas encore créés; et appeler cette fonction après la création de l'élément (dans le onSuccess si on prend ton exemple). En faisant attention de ne jamais l'appeler avant la création de l'élément.
Merci pour tous
++
Résolu :)