Тема: Event Delegation
Показать сообщение отдельно
  #1 (permalink)  
Старый 18.01.2019, 19:39
Новичок на форуме
Отправить личное сообщение для SomebodySomeone Посмотреть профиль Найти все сообщения от SomebodySomeone
 
Регистрация: 22.06.2018
Сообщений: 6

Event Delegation
У меня есть функция которая строит таблицу.
Что мне нужно сделать, ето пронумеровать каждую TD ячейку и при клику выводить алертом етот номер.
На данный момент у меня просто рисует таблицу и при клике выводит TD.

function renderTable(columns, rows) {
    let root = document.getElementById("root");
    let table = document.createElement('TABLE');
    let tableBody = document.createElement('TBODY');

    table.appendChild(tableBody);

    for (let i = 0; i < rows; i++) {
        let tr = document.createElement('TR');
        tableBody.appendChild(tr);

        for (let j = 0; j < columns; j++) {
            let td = document.createElement('TD');
            tr.appendChild(td);
        }
    }
    root.appendChild(table);
}
renderTable(5, 5);

let element = document.getElementById("root");
element.onclick = function (event) {
    let target = event.target;
    if (target.tagName != 'TD') return;
    alert(target.nodeName);
}
Ответить с цитированием