переопределение события
Доброй ночи вам.
Вопрос по оперделению/переопределению событий. Имеется следующий код: //создаем таблицу 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, время: 11:38. |