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 :

[POO] Méthode d'objet inappelable


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Points : 68
    Points
    68
    Par défaut [POO] Méthode d'objet inappelable
    Salut!

    J'essaie pour la première fois de créer un objet javascript.
    Je suis au courant que la POO n'est pas vraiment applicable à ce language de prog, je n'essaie pas de réinventer la lune, mais je voulais pouvoir quand-même instancier un objet et faire appel à une de ses méthodes.

    voici mon objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    function suggestionBox(nbrItems, divElement, targetTextBox) {
     
    	alert(nbrItems);	
     
    	this.nbrItems=nbrItems;
    	this.divElement=divElement;
    	this.targetTextBox=targetTextBox;
    	this.curPointer=0;
    	this.selectionPointer=0;
     
    	function addSuggestion(name) {
    		alert('salut');
    		if (curPointer<nbrItems) {
    			curPointer++;
    			this.divElement.innerHTML+="<div id='suggestion"+curPointer+"' class='option'>"+name+"</div>";
    		}
    	}
     
    	function moveUpSelection() {
    		if (selectionPointer>1) {
    			selectionPointer--;
    			document.getElementById("suggestion"+selectionPointer).class='selectedoption';
    		}
    	}
     
    	function moveDownSelection() {
    		if (selectionPointer<nbrItems) {
    			selectionPointer++;
    			document.getElementById("suggestion"+selectionPointer).class='selectedoption';
    		}
    	}
     
    	function clear() {
    		this.divElement.innerHTML="";
    		this.curPointer=0;
    	}
     
    	function show() {
    		alert('test');
    		this.divElement.style.display='block';
    	}
     
    	function hide()  {
    		this.divElement.style.display='none';
    	}
    }
    J'ai ensuite fait une page de test ou j'inclus toutes les références nécessaires.

    et je mets le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div id='mySuggestionDiv' class='suggestion' style='display:none'></div>
    			<input type='text' name='myTextBox' id='myTextBox' onKeyPress="mySugBox.show();alert('bonjour');"/>
    			<script language='JavaScript'>
    				var mySugBox;
    				mySugBox=new suggestionBox(5, document.getElementById('mySuggestionDiv'),  document.getElementById('myTextBox'));
    				alert('part1');
    				mySugBox.show();
    				alert('ok');
    			</script>
    Le proglème, c'est que j'ai le message "part1" mais pas "ok".
    En fait, la méthode show() ne s'exécute pas....
    pourquoi???

    merci d'avance

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Pour ajouter des fonctions à un object :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function o(a) {
     this.a=a;
    }
     
    o.prototype.show = function() {
      this.a.style.display="block";
    }
     
    var x = new o(document.getElementById("x");
    x.show();

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

Discussions similaires

  1. [POO] [IE6] Cet objet ne gère pas cette propriété ou cette méthode
    Par sabotage dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/01/2009, 22h44
  2. [POO] Comment ajouter des méthodes à un objet DIV ?
    Par Murasame dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/10/2007, 23h01
  3. [POO] Instancier un objet avec le nom de la classe
    Par shinchun dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 13h44
  4. [POO] affectation dynamique d'une méthode à un objet
    Par Delphi-ne dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2006, 21h17
  5. [POO] Passer un objet HTML en argument.
    Par defacta dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/12/2004, 10h44

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