Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2016, 01:13
Аспирант
Отправить личное сообщение для Mightyraven Посмотреть профиль Найти все сообщения от Mightyraven
 
Регистрация: 29.11.2011
Сообщений: 38

Нужна помощь по созданию класса.
Добрый день.
Я создаю класс: таблица с несколькими кнопками
Код:
function classTableList(caption) {
   this.caption = caption;
   var btnAdd = document.createElement('button');
   btnAdd.innerHTML = "Добавить";
   btnAdd.onclick = this.addItem;
  
}
И добавляю метод класса, который срабатывает по клику кнопки (открывает модальное окно):
Код:
classTableList.prototype.addItem = function() {
  var addWin = new classModalWin(this.caption);
  addWin.open(); 
}
Объект создаю так:
Код:
var obj= new classTableList("Заголовок");
Вопрос такой: Мне нужно чтобы в модальное окно попадал заголовок таблицы (caption) но слово this в методе addItem класса classTableList, ссылается не на экземпляр класса, а на саму кнопку, а у кнопки нету свойства caption. Как быть????
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2016, 01:27
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

btnAdd.onclick = this.addItem.bind(this);
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2016, 10:25
Аспирант
Отправить личное сообщение для Mightyraven Посмотреть профиль Найти все сообщения от Mightyraven
 
Регистрация: 29.11.2011
Сообщений: 38

Спасибо огромное! все заработало...
А не подскажите я вообще правильно классы создаю или есть какой нибудь более правильный способ???
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2016, 10:55
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Mightyraven, я бы не вешал слушателей в конструкторе.

Т.е это вынес бы в отдельный метод.
var btnAdd = document.createElement('button');
   btnAdd.innerHTML = "Добавить";
   btnAdd.onclick = this.addItem;
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2016, 17:06
Аспирант
Отправить личное сообщение для Mightyraven Посмотреть профиль Найти все сообщения от Mightyraven
 
Регистрация: 29.11.2011
Сообщений: 38

Точно!!! спасибо за совет я так и сделаю.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь по созданию калькулятора тарифного плана deadhunter Общие вопросы Javascript 13 05.01.2016 21:28
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
Нужна помощь по созданию карты Konstantine Элементы интерфейса 1 27.03.2011 00:43
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17