IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Débutant] Changer action onclick, lors d'un click


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 86
    Points
    86
    Par défaut [Débutant] Changer action onclick, lors d'un click
    Hello,

    Le sujet est peut-être un peu tordu, je m'explique (ce n'est pas si terrible que ça!)

    Lors d'un click sur un de mes liens j'appelle une fonction test().
    Je voudrai faire que l'appel de cette fonction change l'attribut onclick du lien qui l'a appellé, pour qu'aux prochains clicks ce lien ne fasse plus que des alerts (par exemple).

    Voici le code qui ne fonctionne pas, sans que je sache pourquoi.

    function test(id) {
    document.getElementById(id).setAttribute('onclick',alert("probleme"));
    }

    L'id est bien passé, lors de l'appel à cette fonction le alert est directement déclenché. Alors qu'il devrait être enregistré pour les prochains clicks seulement.

    Une piste svp?
    Je suis débutant en javascript.

    Merci,

    Omageus

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut
    salut,
    t'es un des premiers que j'aide en javascript ^^

    Alors j'ai découvert ce qui devrait t'aider dans l'excellent livre: Bien developper pour le web2.0 bonnes pratiques ajax chez eyrolles. (je préfère citer rendons à césar ce qui est césar.)

    Donc en fait l'attribut onclick est impropre comme méthode de code.

    il vaut mieux lui préférer ce genre de script;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	function initEcouteurs() {
    		document.addEventListener('mousedown',fonction1,false);
     
    	}
    	window.addEventListener('load',initEcouteurs,false);
    l'élément document peut etre modifié évidement par ton id.

    tu peux modifier mouse down par mousemove mouseup, click
    ainsi tu mets dans ta fonction1 le fait que l'event listener soit supprimé et que ca en recré un avec une fonction2

    voilà

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 86
    Points
    86
    Par défaut
    Merci de ta contribution
    (J'ai hésité à acheter ce bouquin, si je le retrouve c'est dans la panier)

    Avec un removeEventListener ceci devrait être parfait!

    Je te remercie grandement.

    Bonne soirée.

    Omageus

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    je précise que addEventListener et removeEventListener ne fonctionnent pas sur IE. Les équivalents IE sont attachEvent et detachEvent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer une action lors d'un click sur un bouton de page web
    Par clairetj dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/10/2013, 08h29
  2. changer couleur d un autre div lors d un click
    Par romocop dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/10/2010, 14h35
  3. Changer le backgroud d'un bouton lors d'un click
    Par lansher1985 dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 24/07/2010, 21h19
  4. [AJAX] Débutante Ajax - Action 'onClick'
    Par charlottebardet dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 23/04/2008, 15h26
  5. [Débutant] Changer le texte d'un bouton au click
    Par Zolstead dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/01/2007, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo