Bonjour,
J'ai beau rechercher partout, je ne trouve pas la solution ! J'ai tout essayé mais rien n'y fait.
Alors, voila, je souhaite ajouter une fonction à la liste des evenements, mais hélas, le mot clé this qui est à l'intérieur de cette fonction se réfère au div et non a mon objet ! Essayez ceci :
<script type="text/javascript">
monObjet= function(args){
// Appel méthode : initiatilisation.
this.iniT(args.id, args.titre || 'defaut');
}
// Méthode : initialisation.
monObjet.prototype.iniT = function(id,titre){
// Variables.
this.id = id;
this.titre = titre;
var test = document.getElementById('testia');
/* Evènements *************************************************************/
this.navig = navigator.appName;
if(this.navig =='Microsoft Internet Explorer'){
test.attachEvent('onclick',this.affMonID);
}else{
test.addEventListener('click',this.affMonID,false);
}
/**************************************************************************/
}
monObjet.prototype.affMonID = function(){
alert(this.id);
alert(this.titre);
}
</script>
<div style="padding:10px; background-color:red;" id="testia">TESTI TESTI TESTI</div>
<script type="text/javascript">
var testi = new monObjet({id:'testi', titre:'test'});
</script>
Lorsque vous cliquez vous vous rendez compte que la variable this.id vaut "testia", soit l'id du div ! Et que la variable this.titre est indéfinie. Donc, moi ce que je souhaite c'est pouvoir acceder par exemple à la variable titre de mon objet.
Savez vous comment faire ? Car c'est fou ce qu'il n'y a pas d'informations la dessus. Ha si, j'ai vu une solution qui consitait a mettre dans des tableaux... je trouve pas ça top...
Merci.