1

Тема: Як краще, ефективніше присвоювати події коміркам в таблиці?

Зараз динамічно створюється таблиця, в кожній комірці якої знаходиться input, йому потрібно присвоїти події. Зараз це робиться під час створення таблиці.

function writetable () {
    var mytable = document.getElementById("field");
    var table = document.createElement("table");
    for (var r = 0; r < 30; r++) {
        var row = document.createElement("tr");
        table.appendChild(row);
        for (var c = 0; c < 30; c++) {
            var cell = document.createElement("td");
            row.appendChild(cell);
            var inp = document.createElement("input");
            cell.appendChild(inp);
// Тут починаю присвоювати події
            inp.setAttribute("id", "r" + r + "_" + "c" + c);
            inp.setAttribute("class", "tbl_input");
            inp.setAttribute("onmouseenter", "onmouseenter_color(" + r + "," + c + ")");
            inp.setAttribute("onmousedown", "onmousedown_color(" + r + "," + c + ")");
            inp.setAttribute("onmouseup", "onmouseup_color(" + r + "," + c + ")");
            inp.setAttribute("maxlength", "1");
            inp.setAttribute("onclick", "select_wordplace(" + r + "," + c + "), del_btn(this, " + r + "," + c + ")");
        }
    }
    mytable.appendChild(table);
}
writetable();

Думаю, може краще реалізувати присвоєння через addEventListener, щоб лишити html чистішим, як вважаєте чи є сенс та чи вплине це на швидкість?

2

Re: Як краще, ефективніше присвоювати події коміркам в таблиці?

Ну на швидкість це вплине радше позитивно, бо судячи з цього

document.getElementById("myBtn").addEventListener("click", function(){
    document.getElementById("demo").innerHTML = "Hello World";
});

використовується функція, а не рядок, наприклад, "onmouseenter_color(" + r + "," + c + ")", який потім треба розпарсити.

ukrainian.stackexchange.com - це питання-відповіді з української мови
Подякували: Wsewlad, 221VOLT2