td не реагирует на click
Добрый день. Столкнулся с проблемой. Создаю таблицу с помощью js. Таблица создается, заполняю ее картинками. Здесь тоже все работает. После этого все картинки нужно сделать "закрытыми". Для этого через background-image в css каждый td делаю серым квадратом. Это тоже работает. Проблема в следующем: при нажатии на элемент td, у этого самого td нужно убрать класс. Но при нажатии ничего не происходит, click не срабатывает.
Мой js: var IndexController = function () { }; IndexController.prototype.createTable = function () { $.getJSON("https://kde.link/test/get_field_size.php", function(data){ var get_width = data.width; var get_height = data.height; // здесь какой-то код // . // . // . var div = document.getElementsByTagName("div")[4]; var tbl = document.createElement("table"); var tblBody = document.createElement("tbody"); for(var current_row = 1; current_row <= get_height; current_row++){ var row = document.createElement("tr"); for(var current_cell = 1; current_cell <= get_width; current_cell++){ var cell = document.createElement("td"); row.appendChild(cell); $(cell).addClass('image1'); cell.innerHTML += "<img src=" + shuffled_mass[tmp] + " class='image2'>"; tmp++; } tblBody.appendChild(row); } tbl.appendChild(tblBody); div.appendChild(tbl); }); }; IndexController.prototype.gameplay = function(){ // Здесь тоже какой-то код }; IndexController.prototype.init = function () { var that = this; $('.create-table').on('click', function () { that.createTable(); return false; }); $('td').on('click', function () { that.gameplay(); return false; }); }; $(function () { var indexController = new IndexController(); indexController.init(); }); Не могу понять почему не работает обработчик нажатия. Помогите, пожалуйста, кто-нибудь. |
Цитата:
обычное решение: создали элемент/ы - повесили обработку клик. второй способ обработку клик ставят на элемент который постоянно есть на странице и в котором появятся нужные элементы. |
Dexa,
возможно достаточно перенести строки 45-46 в строку 52 ... но тогда как - то непонятно -- кликая постоянно идёт создание таблицы и бесконечно навешиватся клики. :) |
Dexa,
лучше поставить клик на tbl в конце строки 30 $(tbl).on('click' , 'td', ...) |
Часовой пояс GMT +3, время: 16:45. |