Gestion des événements

Gestion des événements - HTML/CSS - Programmation

Marsh Posté le 03-01-2003 à 14:52:49    

Salut,
 
Grâce au CSS on peut associer par exemple à tous les INPUT un certains styles :
 

Code :
  1. <STYLE>
  2. INPUT { color:black, ....}
  3. </STYLE>


Ainsi on évite de se taper un attribut style par INPUT.
 
Je me demandais s'il n'existait pas un moyen quelconque qui reprendre ce principe de "centralisation" pour gérer les événements et fonctions associées.
 
Ainsi par exemple on définirait au départ que tous les INPUT réagirait à un onmouseover en appelant la fonction gererOver()
 
Car actuellement on est obligé de mettre le onmouseover dans chaque balise INPUT.
 
Qqun a une idée ?
 
Merci !


---------------
Savoir c'est vivre, et maintenir dans l'ignorance c'est presque un homicide
Reply

Marsh Posté le 03-01-2003 à 14:52:49   

Reply

Marsh Posté le 03-01-2003 à 15:19:18    

ctrl-c ctrl-v  :)

Reply

Marsh Posté le 03-01-2003 à 15:23:29    

kayasax a écrit :

ctrl-c ctrl-v  :)  


 
[:tapai]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 03-01-2003 à 15:26:32    

cypress a écrit :

Salut,
 
Grâce au CSS on peut associer par exemple à tous les INPUT un certains styles :
 

Code :
  1. <STYLE>
  2. INPUT { color:black, ....}
  3. </STYLE>


Ainsi on évite de se taper un attribut style par INPUT.
 
Je me demandais s'il n'existait pas un moyen quelconque qui reprendre ce principe de "centralisation" pour gérer les événements et fonctions associées.
 
Ainsi par exemple on définirait au départ que tous les INPUT réagirait à un onmouseover en appelant la fonction gererOver()
 
Car actuellement on est obligé de mettre le onmouseover dans chaque balise INPUT.
 
Qqun a une idée ?
 
Merci !


 
 
 c exactement ce que je cherche, au même moment ou je le cherche ... je contribue donc avec un Up :D
 
 
 
en fait je cherche aussi ça, j'ai capturé tous les divs de ma page avec document.getElementsByTagName("div" );
 
maintenant en fonction de un truc en particulier (ie: leur ID) je veux leur attacher ou pas une action onclick! eske kelkuns ait comment je pourrais faire ça ?
j'aimerais leur attacher par exemple la fonction:
 
clickedon(this)
 
 
 
ya moyen ?

Reply

Marsh Posté le 03-01-2003 à 15:35:11    

trouvé!! :)
 
 
je fais ça moi pour que ça marche:
 

Code :
  1. var pagedivs = document.getElementsByTagName("div" );
  2.  for (i=0;i<pagedivs.length;i++)
  3.  {
  4.   pagedivs[i].className += " notpresent"; // change la classe css
  5.   pagedivs[i].onclick = naze; // change l'action onclick
  6.  }


 
naze est une fonction que tu peux avoir créée


Message édité par k666 le 03-01-2003 à 15:42:48
Reply

Marsh Posté le 03-01-2003 à 21:13:35    

Salut,
 
effectivement cette méthode fonctionne. Moi j'avais fait un truc du style :
 

Code :
  1. for(i=0;i<document.all.tags("INPUT" ).length;i++){
  2. ...
  3.   document.all.tags("INPUT" )[i].onmouseover=gererOver;
  4.   document.all.tags("INPUT" )[i].onclick=gererClick;
  5. ...
  6. }


çà fonctionne.
 
Mais le pb c ke çà implique une boucle assez longue en tps de traitement si la page possède plein de tag INPUT...
 
Et justement c çà que je voulais éviter en émettant cette question :-) J'aimerai "centraliser" le fait de réagir aux événements mouseover et click pour les tag INPUT, et ainsi éviter de boucler sans arrêt
 
Sinon je me résignerai..
 
Des idées ?
 
Merci !


---------------
Savoir c'est vivre, et maintenir dans l'ignorance c'est presque un homicide
Reply

Marsh Posté le 03-01-2003 à 22:19:44    

<body onclick='gestionnaireDeClicks()'>
 
la page html standard ...
 
</body>
 
qq part dans un <script> :
 
function gestionnaireDeClicks()
{
  if (event.srcElement.tagName == 'INPUT';)
  {
    alert('vous avez cliqué sur un input';);
  }
}
 
http://msdn.microsoft.com/library/ [...] _model.asp
lien microsoft, je n'ai pas trouvé sur le w3. c'est le même mécanisme sous mozilla, à part les noms des variables (srcElement) qui changent).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed