Показать сообщение отдельно
  #1 (permalink)  
Старый 02.04.2014, 17:54
Новичок на форуме
Отправить личное сообщение для syul Посмотреть профиль Найти все сообщения от syul
 
Регистрация: 02.04.2014
Сообщений: 3

Все теже events
вот туплю....

есть массив, который я передаю как параметр в конструктор объекта.

buttons : {
   "Ok" : function(){
        console.log("Ok");
	this.action();
   },
  "Cancel" : function(){
	console.log("Cancel");
	this.action();
   }
}


в объекте есть функция:

this.action = function(){
					events.beforeAction(self);
					console.log("action");
					events.afterAction(self);
				}


в объекте , есть кусок кода, который создает кнопки, в данном случае 2

for (i in buttons) {
								
	var bName = i;
	var bClick = buttons[i];
								
	var b = document.createElement("button");
	b.textContent = bName;
					
	b.addEventListener('click', function(){bClick.call(self)}, false);
								
	/*b.onclick = function(event){
		return bClick.call(self);
	}*/
								
	//b.onclick = bClick;
								
								            document.body.appendChild(b);
}


так вот. Для баттанов добавляется всегда последний переданный в массиве метод. Ткните лицом, где туплю.
Ответить с цитированием