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 :

Activer/désactiver un événement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut Activer/désactiver un événement
    Bonjour à tous ,
    je crée un gestionnaire d'événements pour toutes les <img> d'un document :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    IMGElems[i].onclick = handleClickEvent;
    J'aimerais pouvoir désactiver ou activer le gestionnaire à volonté .
    Existe-t-il une propriété ou une fonction pour réaliser cela ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    Je ne sais pas mais tu pourrais utiliser une variable que tu testerais au début de la fonction :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var isActive = true;
     
    function handleClickEvent() {
        if(!isActive) return; // si n'est pas activé return 
        // le code a exécuter ici...
    }

  3. #3
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    Pas bête ! c'est d'ailleurs ce que je me propose de faire sauf que ...
    J'ai plusieurs images à gérer dans la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    switch(e.target.getAttribute("id"))
    		{
    			case image1:
                            case image2:
                              ......
    Si je fais comme tu le dis je désactive le gestionnaire pour toutes les images alors que je veux le laisser activer pour qq unes voire une seulement.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ben je pensais que tu voulais le désactiver pour toutes...

    Si c'est seulement certaines et pas d'autres, tu peux utiliser une variable "isActive" pour chaque image...

    Puisque de toute façon tu ajoutes un onClick à chaque image comme ça : IMGElems[i].onclick = handleClickEvent;, tu peux aussi ajouter une variable à chacune d'entre elle sous forme d'un attribut data par exemple... Ou plus simple comme ça : IMGElems[i].isActive = true / IMGElems[i].isActive = false...

  5. #5
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Ben faut juste coller sur l'élément en question un style css avec
    et le remettre à auto pour le réactiver
    sauf si tu le met dans une classe

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .nonActif {
    	pointer-events: none;
    	cursor: default;
    }

    coté JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.getElementById("MyElement").classList.add('nonActif');
     
    document.getElementById("MyElement").classList.remove('nonActif');

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ah la solution CSS, je ne connaissais pas merci.

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

Discussions similaires

  1. [C#] Activer/Désactiver évènement KeyDown
    Par anthony.cortez dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/07/2014, 16h55
  2. activer/désactiver la compression GZIP des pages
    Par iubito dans le forum Développement Web en Java
    Réponses: 7
    Dernier message: 20/08/2008, 21h35
  3. Activer/Désactiver évènements sur un control
    Par Titi41 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 13/06/2008, 10h28
  4. [pywin32] Activer/Désactiver compte Active Directory
    Par Dimontviloff dans le forum Bibliothèques tierces
    Réponses: 1
    Dernier message: 01/12/2004, 17h30
  5. Bouton d'activation/désactivation de tooltips
    Par bigboomshakala dans le forum MFC
    Réponses: 2
    Dernier message: 26/04/2004, 08h54

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