Здравствуйте. Я недавно начала изучать js и столкнулась с такой проблемой: создаю 2 объекта а0 и а1 класса А(). Запуская для каждого метод aMethod.genDiv, он создает 2 кнопки и на каждую вешает событие клика. Обработчик aClick увеличивает aMethod.genDiv.something.some1 на 1.
function A() {
this.aMethod = {
something: {
some1: 1,
some2: 2
},
genDiv: function(num){
var wrapper = document.getElementById('wrapper');
var a = document.createElement('input');
a.id = 'a' + num;
a.type = 'button';
a.value = a.id;
a.addEventListener('click', this.aClick);
wrapper.appendChild(a);
},
aClick:function(){
console.log(this.something.some1); // выдает undefinde , думаю,
//тк в обработчике this это
// сам инпут, а не
//nameObj.aMethod.something.some1
this.something.some1++;
}
}
}
window.onload = function () {
var objName;
for(var i = 0; i < 2; i++){
objName = 'a' + i;
objName = new A();
objName.aMethod.genDiv(i);
}
}
Вопрос: как нужно правильно обратиться из обработчика события клик к nameObj.aMethod.something.some1 . Понимаю, что нельзя напрямую a0.aMethod.something.some1 тк есть еще объект a1. И в дальнейшем могут появиться и другие a2,a3...aN. Заранее спасибо