récupérer l'id dynamiquement Firfoxe

récupérer l'id dynamiquement Firfoxe - HTML/CSS - Programmation

Marsh Posté le 23-12-2005 à 14:16:11    

Bonjours
J'aurais souhaité récupérer l'id de mon élément html dynamiquemen sans le faire passer en paramètre.
En gros, si je clique n'importe ou sur la fenetre il y a une fonction qui est executé et de là je voudrais récuprérer son id s'il y en a une ceci sur firfoxe.
Sou IE j'ai trouvé c'est Event.target.id
Merci.

Reply

Marsh Posté le 23-12-2005 à 14:16:11   

Reply

Marsh Posté le 23-12-2005 à 22:44:22    

Sous firefox aussi :D

Reply

Marsh Posté le 23-12-2005 à 22:45:13    

ha bon c'est pareille ? :/

Reply

Marsh Posté le 23-12-2005 à 23:13:37    

Ouais, malheureusement, il faut bidouiller et obligatoirement passer l'event en param.
 
Pour ffox seul

Code :
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function getElement(aEvent)
  5. {
  6. var e = aEvent ? aEvent : window.event;
  7. alert("I am a " + e.target.id + " element" )
  8. }
  9. </script>
  10. </head>
  11. <body>
  12. <h1 id="myHeader" onclick="getElement(event)">Click to see what element I am!</h1>
  13. </body>
  14. </html>


 
ça doit passer

Reply

Marsh Posté le 24-12-2005 à 07:11:19    

oui mais là autant utiliser this.id dans le parametre de ma fonction mon probleme c'est que la fonction est executé ainsi
<body onclick="ma_fonction()">
...
</body>
ce qui fait que si je clique n'importe ou dans ma fenetre la fonction pouvoir récupérer l'id sur l'élément ou je me trouve. ceci afin d'éviter de placer des onclick partout.
merci quand meme je vais essayé quand meme.


Message édité par Berceker United le 24-12-2005 à 07:11:47
Reply

Marsh Posté le 24-12-2005 à 16:38:18    

Bah, c'était un exemple, tu mets onclick="ma_fonction(event)" dans ton cas, ça doit passer aussi :)
 
(peut être même un onmouseover plus qu'un onclick d'ailleurs, faudra aussi vérifier si ça passe sous IE sans adaptation, ce dont je doute un peu beaucoup :D)


Message édité par naceroth le 24-12-2005 à 16:43:49
Reply

Marsh Posté le 24-12-2005 à 16:40:12    

Merci, je vais tester cela lundi .  
En faite, il y a un moyen plus simple mais ce choix m'a été imposé :/

Reply

Marsh Posté le 24-12-2005 à 16:51:12    

lit cette page :  
http://www.quirksmode.org/dom/cms.html
 
c'est normalement en rapport avec ce que tu veux faire je pense.
 
le gars récupère l'évènement sur l'objet sur lequel il vient de cliquer et fait le boulot ensuite.

Reply

Marsh Posté le 26-12-2005 à 10:28:09    

Merci, maintenant sa fonctionne tranquillement. ;)
la ligne qui règle tout.

Code :
  1. vlElement = (window.event)?window.event.srcElement.id:aEvent.target.id;


Pour ceux qui comprennent pas cela équivaut à  
 

Code :
  1. if(window.event!=false){
  2.       vlElement = window.event.srcElement.id;
  3. }else{
  4.       vlElement = aEvent.target.id;
  5. }


Message édité par Berceker United le 26-12-2005 à 10:29:53
Reply

Sujets relatifs:

Leave a Replay

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