Annuler un évènement javasript (RESOLU)

Annuler un évènement javasript (RESOLU) - HTML/CSS - Programmation

Marsh Posté le 10-07-2006 à 13:34:47    

C'est rigolo, j'ai jamais eu à faire ça, mais je cherche à annuler un évènement précisé au départ sur un élément de cette manière :
 

Code :
  1. fonction_appelee()
  2. {
  3. alert('couic');
  4. }
  5. document.getElementById('nom-de-l-element').onclick = fonction_appelee;


 
Comment fait-on ensuite pour annuler ce comportement ? (j'ai bien sûr la solution en créant une variable globale et en la testant pour que lors du onclick ça fasse tel ou tel truc, mais j'aimerais savoir si on peut annuler l'évènement lui-même une fois qu'il a été défini).


Message édité par Hermes le Messager le 10-07-2006 à 13:41:12
Reply

Marsh Posté le 10-07-2006 à 13:34:47   

Reply

Marsh Posté le 10-07-2006 à 13:37:57    

J'essayerais un truc dans le genre:

Code :
  1. document.getElementById('nom-de-l-element').onclick = function(e){ return false;}

 
Le problème c'est de si ton element avant un comportement pré-défini avant que tu ne lui rajoutes le tien ( genre un imput submit) il ne va plus rien se passer :/

Reply

Marsh Posté le 10-07-2006 à 13:40:51    

anapajari a écrit :

J'essayerais un truc dans le genre:

Code :
  1. document.getElementById('nom-de-l-element').onclick = function(e){ return false;}

 
Le problème c'est de si ton element avant un comportement pré-défini avant que tu ne lui rajoutes le tien ( genre un imput submit) il ne va plus rien se passer :/


 
Merci bcp, ça marche bien comme ça pour ce que je suis en train de faire. ;)

Reply

Marsh Posté le 10-07-2006 à 14:52:13    

putot un return true :s
 
Voir un document.getElementById('nom-de-l-element').onclick = null;

Message cité 1 fois
Message édité par afbilou le 10-07-2006 à 15:08:35
Reply

Marsh Posté le 10-07-2006 à 15:16:01    

afbilou a écrit :

putot un return true :s
 
Voir un document.getElementById('nom-de-l-element').onclick = null;


 
Oui cette solution très simple semble marcher. C'est standard ?  :??:  

Reply

Marsh Posté le 10-07-2006 à 15:20:27    

Hermes le Messager a écrit :

Oui cette solution très simple semble marcher. C'est standard ?  :??:


C'est effectivement "mieux", en plus après test tu récupères bien le comportement "par défaut" de l'element sur lequel tu avais mis ton event:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  4. <head>
  5.   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  6.   <title>Exemple</title>
  7.   <script type="text/javascript">
  8.   window.onload = function(e){
  9.     document.getElementById('sub').onclick = function (e){
  10.       alert('pouet');
  11.       return false;
  12.     }
  13.     document.getElementById('stop').onclick = function (e){
  14.       document.getElementById('sub').onclick = null;
  15.     }
  16.   }
  17.   </script>
  18. </head>
  19. <body>
  20. <form action="http://www.google.com" method="get">
  21.    <input type="button" id="stop" value="stop"/>
  22.    <input type="submit" id="sub" value="submit"/>
  23. </form>
  24. </body>
  25. </html>


ça marche niquel sous IE et FF ... Maintenant est-ce standard, bonne question!? :o
 
note: moi j'avais essayé avec undefined à la place de null, IE se vautrait lamentablement ;)

Reply

Sujets relatifs:

Leave a Replay

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