то, что я пытаюсь сделать здесь, - связать объект DOM с экземпляром объекта JS, который позже предоставит некоторые методы определения смысла;) В этот момент я просто хочу обрабатывать свой JS объект события щелчка, сохраняя его ссылки нетронутыми.JS onclick запускает неправильный объект
<?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>
Ожидаемый результат: при нажатии на кнопку 1, текст «Кнопка 1» должны быть предупреждены.
Текущий результат: при нажатии кнопки 1, появляется сообщение «кнопка 2».
То, что я выяснил до сих пор, заключается в том, что неправильный экземпляр obj запускается из события click, хотя o1 и o2 поддерживают правильные ссылки на их соответствующий объект DOM.
Любые идеи, как это решить?
Благодарим за помощь!
С наилучшими пожеланиями, Clemens
Привет, ребята, спасибо за помощь. Очевидно, я не понимал, как правильно использовать замыкания, несмотря на создание глобальной переменной случайно: - /. Пользовательские объекты необходимы, поскольку они представляют собой отдельные экземпляры встроенного редактора с различными настройками (различные кнопки форматирования и т. Д.). В любом случае - теперь я понял суть - большое спасибо! – blacktarmac