переопределение события
Доброй ночи вам.
Вопрос по оперделению/переопределению событий. Имеется следующий код:
//создаем таблицу
var table = document.createElement("table");
var _tr = new Array();
//заполняем таблицу
//создание ячеек
for(var i=1; i<10; i++) {
_tr[i] = document.createElement("tr");
var _td = new Array();
for(var j=1; j<10; j++) {
_td[j] = document.createElement("td");
var newid = j;
_td[j].id = j;
_td[j].onclick = function() { cell_action(j) };
_td[j].innerHTML = j;
_tr[i].appendChild(_td[j]);
}
//add to table
table.appendChild(_tr[i]);
}
Вопрос в том, что всем ячейкам таблицы присваивается одна функция cell_action(10); т.е. значение последней итерации. Перечитал много статей, в том числе с javascript.ru, но решить проблему так и не смог. Подскажите как сделать чтобы каждой ячейке присваивалось событие onClick со своим аргументом? |
|
попробуй так
var table = document.createElement("table");
var _tr = new Array();
var _td = new Array();
var id;
for(var i=1; i<10; i++) {
_tr[i] = document.createElement("tr");
for(var j=1; j<10; j++) {
_td[j] = document.createElement("td");
id = j;
_td[j].id = j;
_td[j].onclick = function() { cell_action(j) };
_td[j].innerHTML = j;
_tr[i].appendChild(_td[j]);
}
//add to table
table.appendChild(_tr[i]);
}
|
magistr_bender, вы тоже по ссылочке сходите.
|
та уже сходил)
я просто посмотрел на этот участок for(var i=1; i<10; i++) { _tr[i] = document.createElement("tr"); var _td = new Array(); .......... } и мне показалось что так не должно быть.. ибо каждая итерация обнуляет все _td и я подумал что по этому скорее всего баг возникает.. |
респект ребят за точность и оперативность. разобрался.
то что не нашел на сайте нужной инфы - мой минус. признаю. Мир. |
| Часовой пояс GMT +3, время: 12:13. |