Javascript.RU

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

Неправильное присвоение элементам событий
Здраствуйте.
Есть код:

function addRow(id){
var tbody = document.getElementById
(id).getElementsByTagName("TBODY")[0];
var j = tbody.rows.length;
var children = tbody.getElementsByTagName("TR")[0].cells.length;
var row = document.createElement("TR");
for(var i=0;i<children; i++) {
var td = document.createElement("TD");
td.appendChild(document.createTextNode(j+' '+i));
row.appendChild(td);
if (td.attachEvent) { // IE
td.attachEvent ("onclick", function () {activ(id,j,i-1);});
}
}

tbody.appendChild(row);
}
В цикле создаю ячейки таблицы (жирный текст)
и присваиваю им событие onclick (подчеркнутый текст)
Дело в том что код присваивает всем создаваемым ячейкам последнее событие.
Подскажите как исправить ситуацию, чтобы к каждой ячейке прописывалось свое событие
Заранее благодарствую
Ответить с цитированием
  #2 (permalink)  
Старый 17.09.2010, 13:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://javascript.ru/basic/closure#p...-ispolzovaniya
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2010, 12:58
Новичок на форуме
Отправить личное сообщение для maxagg Посмотреть профиль Найти все сообщения от maxagg
 
Регистрация: 17.09.2010
Сообщений: 7

Спасибо огромное, открыли глаза.

С вопроса "Почему это не работает?" люди обычно начинают изучение замыканий.

Именно с этого вопроса и начал
Ответить с цитированием
Ответ



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

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