11548 sujets

JavaScript, DOM et API Web HTML5

n'ayant pas eu de réponse je reformule ma demande.

J'ai fais un objet bouton

bouton1 = new Button (top,left,parent,title,class);
bouton2 = new Button (top,left,parent,title,class);

et je souhaite faire :

bouton1.onclick = MaFonction1(val1,val2,..);
bouton2.onclick = MaFonction2(val1,val2,..);

mais le problème c'est que le onclick ne foctionne pas sur mon objet.

Si quelqu'un peut m'aider MERCI Smiley biggrin
Modifié par zapmanu (05 Apr 2008 - 15:21)
bonsoir,

et si tu crée un objet Boutton qui réalise comme action quelque chose , c'est une methode de ta 'classe'
Bouton pour parler "orienté objet" .
Définit cette méthode par rapport a l'objet et non aux instances.

ou bien ...


bouton1.onclick = MaFonction1;
bouton2.onclick = MaFonction2;

function MaFonction1(val1,val2,..){
  //instructions
}

function MaFonction2(val1,val2,..) {
  //instructions
}
j'ai trouvé !


Button = function (id,parent,top,left,title,_classTitle){
   //je crée mon bouton
   var _div = document.createElement('div');
   var _img = document.createElement('img');
   var _p = document.createElement('p');
   //j'integre les donnée propre au bouton: position,classe css,l'apparence du bouton
   _div.id = this.id;
   _div.style.top = top;
   _div.style.left = left;
   _p.text = this.title;
   _img.src = './images/bouton_off_petit.gif';
   _div.className = 'buttonDiv';
   _img.className = 'button';
   _p.className = 'buttonText ' + _classTitle;
   //integration dans le DOM
   _div.appendChild(_img);
   _div.appendChild(_p);
   parent.appendChild(_div);

  //évenement du boutton
  var oThis = this;

  _div.onclick = function (e) {
            oThis.onclick(e);
            }
}


et apres on declare le boutton

var btn = new button  ('idBTM',_parent,50,100,'click moi','');


et on attribut une fonction onclick à ce bouton

btn.onclick=function(){MaFonction1(val1,val2,..)};

formidable non Smiley cligne