Задать вопрос
@lfoma

Как найти связь между кнопкой и объектом?

Добрый день!
Есть кнопка, которая, при нажатии, изменяет определенный объект. Кнопки и объекты дублируются, т.е. есть прямая связь кнопка-объект. Для всех кнопок один обработчик, который должен понять - какой объект надо изменять.
Как правильно сделать связь кнопки-объекта?
Вот как примерно я это сейчас делаю (в жизни, конечно же, гораздо больше различных событий и условий.): Кнопкам указываю название переменной с объектом, потом обращаюсь к этому объекту, как к элементу window.

var Obj = function(){
 this.name = 'obj';
 this.counter = 0;
}
Obj.prototype.init = function(){
  $(document).append('<button data-object="' + this.name + '"></button>');
}

Obj.prototype.incrase = function(){
 this.counter++;
}

var obj1 = new Obj();
obj1.name = 'obj1';
obj1.init();

var obj2 = new Obj();
obj2.name = 'obj2';
obj2.init();


$(document).on('click', 'button', function(){
  var obj = window[$(this).data('object')];
  obj.incrase();
});
  • Вопрос задан
  • 203 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Не проще ли создать к каждой кнопке именованный объект, с именем допустим совпадающим с id кнопки, и повесить на все кнопки единый обработчик с вызовом объекта по имени из id?
Ответ написан
@lega
Вот пример без хранения ссылок/данных в элементе: jsfiddle.net/lega911/hpjmweda
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы