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 :

Attacher un évènement à une méthode de la classe courante


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut Attacher un évènement à une méthode de la classe courante
    Salut,

    Dans le but de développer un composant personnalisé, j'ai écrit une "classe" qui permet d'ajouter des éléments dans une box. Un peu à la manière des listes HTML. Pour chacun de ces éléments je cherche à lier l'évènement onclick à une méthode qui appartient à cette classe, comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	playlist.prototype.addItem = function(label) {
    		new_item = document.createElement('div');
    		
    		new_item.className = 'playlist_item';
    		new_item.setAttribute('itemID', (this.nbItems + 1));
    		new_item.setAttribute('label', label);
    		new_item.innerHTML = label;
    		new_item.onclick = this.setSelected(new_item.getAttribute('itemID'));
    		
    		this.container.appendChild(new_item);
    		this.setSelected(new_item.getAttribute('itemID'));
    		this.nbItems++;
    	}
    setSelected est la méthode de la même classe que je cherche à exécuter lors de l'évènement "click". En procédant ainsi, rien ne fonctionne. J'ai essayé d'autres méthodes sans succès, donc je m'en remets à vous !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    Il suffisait de faire une copie de l'instance courante pour l'utiliser ensuite (vu ici):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    currentInstance = this;
     
    new_item.onclick = function() {
    	currentInstance.setSelected(this.getAttribute('itemID'));
    }

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 06/06/2009, 21h42
  2. [Evènement]Accrocher un évènement à une méthode
    Par Jabbal'H dans le forum Langage
    Réponses: 5
    Dernier message: 11/04/2008, 12h20
  3. [WPF] appeler une méthode de la classe "parente"
    Par Invité dans le forum Framework .NET
    Réponses: 3
    Dernier message: 19/10/2007, 09h44
  4. Réponses: 6
    Dernier message: 25/04/2007, 18h07
  5. Réponses: 3
    Dernier message: 15/12/2006, 16h14

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