ce que j'essaie de faire ici est d'associer un objet DOM à une instance d'un objet JS, ce qui fournira plus tard des méthodes sensitives;) À ce stade, je veux juste gérer mon JS objet l'événement click, tout en gardant ses références intactes.JS onclick déclenche un mauvais objet
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
<script type="text/javascript">
// my object, which will hold a reference to a single DOM object
obj = function(domobj) {
this.o = domobj;
my = this;
var ref = my.click;
this.o.onclick = ref;
}
// my objects click function
obj.prototype.click = function() {
alert(my.o.innerHTML);
}
// create objects with references
$(document).ready(function() {
o1 = new obj(document.getElementById('b1'));
o2 = new obj(document.getElementById('b2'));
});
</script>
</head>
<body>
<button id="b1">button 1</button>
<button id="b2">button 2</button>
</body>
</html>
Résultat attendu: en cliquant sur le bouton 1, devrait être alertés le texte "bouton 1".
Résultat actuel: Lorsque vous cliquez sur le bouton 1, le texte "bouton 2" est averti. Ce que j'ai découvert jusqu'à présent est que la mauvaise instance de obj est déclenchée par l'événement click, même si o1 et o2 maintiennent des références correctes à leur objet DOM correspondant.
Des idées pour résoudre ce problème?
Merci pour votre aide!
Meilleures salutations, Clemens
Salut les gars - merci pour votre aide. Évidemment je n'ai pas compris comment utiliser correctement les fermetures, malgré la création accidentelle d'une variable globale: - /. Les objets personnalisés sont nécessaires, car ils représentent des instances individuelles d'un éditeur en ligne, avec différentes configurations (différents boutons de mise en forme, etc.). En tout cas - maintenant j'ai compris - merci beaucoup! – blacktarmac