Gestionnaires d'evenements Javascript lents à se creer - HTML/CSS - Programmation
Marsh Posté le 03-03-2008 à 21:11:54
et on pourrait voir le code JS qui te pose un tel pb s'il te plait ?
Marsh Posté le 04-03-2008 à 22:20:02
Code :
|
En gros vous voyez ya un max d'evenement
J'avais pensé a mettre en div encandrant ces cellules, et mettre ces gestionnaires sur ce div au lieu d'en creer pas mal, mais faut que je vois ce que ca donne.
Sinon pour caux qui y ont pensé, le onChange ne marche pas totalement, c'est pour ca que j'ai mis des onSelect et des onClick
Marsh Posté le 04-03-2008 à 22:46:31
Juste comme ça :
- le "javascript:" ne sert absolument à rien dans les onclick etc
- c'est imbitablement écrit, faudrait mieux que tu affectes tes évenements en JS, au chargement de la page, avec le DomReady d'un framework genre mootools ou jquery.
- ça me parait louche tes 3 évenement par balise, t'es absolument sûr que t'es obligé
- qqch me dit que le PHP est pas triste non plus
Marsh Posté le 04-03-2008 à 23:02:53
Oh bordel Y'a énormément matière à optimisation dans tous les sens là.
Mais faut d'abord retaper le PHP. Ch'ais pas, déjà en concaténant une bonne fois pour toutes l'id de l'élément
Marsh Posté le 04-03-2008 à 23:18:34
Et en répétant pas 6 fois les 6 mêmes lignes avec un bout de miette qui change à chaque fois...
Marsh Posté le 05-03-2008 à 13:29:16
Merci pour vos reponses
Ok le php pue, mais c'est pas vraiment ça le problème, en fait ca met 80-100ms a se faire le php, donc encore...
Mais vous avez raison, c'est pas lisible, c'est juste que j'ai l'habitude de le voir comme ça, j'avais pas vraiment remarqué. Je vais changer ça.
En gros ce que je veux que ca fasse :
- A chaque fois que dans un des inputs de la ligne, une valeur est changée, le js envoie l'id de la ligne dans un tableau
- A chaque fois qu'une des valeurs de certains inputs est changée, il recalcule la valeur d'autres inputs.
Le tout doit marcher :
Si l'utilisateur selectionne juste l'interrieur de l'input, sans cliquer dedans
Si l'utilisateur change un input, sans cliquer hors de l'input, mais directement sur le bouton valider.
Et le onChange j'avais eu certains problèmes avec. Mais je vais reverifier.
Le tout, en utilisant le moins d'evenements possibles par ligne du tableau, quand 100 lignes s'affichent, c'est assez hard pour les vieilles machines.
Je vous reposte le code modifié tout a l'heure.
Sinon theredled, tu peux m'expliquer rapidement comment tu penses que je pourrais m'y prendre pour affecter ca direct dans le php?
En fait j'appelle en ajax la page du dessous avec les lignes que vous avez vues, et j'ai aucune idée ce que je vais avoir comme id au retour.
Marsh Posté le 05-03-2008 à 18:06:52
Code :
|
Voila c'est mieux.
Ca me fait gagner une seconde. C'est deja bien.
Au fait c'est quoi la difference entre onclick et onClick?
Sinon ya pas un moyen de rendre ca encore plus rapide?
Le truc c'est que ca affiche genre 1.5 mega de texte/image, donc la moulinette est un peu longue
Marsh Posté le 02-03-2008 à 17:30:25
Bonjour
Je viens de me rendre compte qu'en fait j'ai enomément de gestionaire d'evenements crées sur une page HTML ( style 100 sur une page ) avec du code direct dedans.
Ya t'il un moyen pour que ma page s'affiche plus vite? ( en effet quand je desactive le javascript, la page met 5-6 sec de moins a se charger. )
En gros j'ai un tableau, et j'ai beaucoup de traitements a faire en fonction des actions de l'utilisateur sur ce tableau, donc je crée beaucoup de gestionnaires d'evenements.
Sur un pc recent ca peut passer, mais sur une vieille becanne c'est galère...
Ya pas une manière de gerer les evenements sans ajouter 40000 gestionnaires?
Message édité par Decapfour le 02-03-2008 à 18:11:02