Функция jquery не запускается, когда я использую datatable.fnAddData для добавления строки HTML

jenna_3108 спросил: 07 октября 2018 в 12:14 в: javascript

Функция jquery не запускается, когда я использую dataTable.fnAddData для добавления строки HTML.

Итак, у меня есть функция populateDataTable(), мне нужно два столбца, чтобы вместо значка из JSON.Hence отрисовываю значок, я попытался добавить строку HTML, включая классы для элемента в fnAddData(). Но почему-то это не вызывает событие click на значке.

  function populateDataTable(data) {
    $("#customerTable").DataTable().clear();
    var length = Object.keys(data).length;
    for(var i = 1; i < length+1; i++) {          var index = i - 1;
    var name = data[index].name;
    var queue = data[index].queue;
    var expire = data[index].expire;    $('#customerTable').dataTable().fnAddData( [
        i,
        name,
        queue,
        '<td id="tb-manage-key" class="tb-manage-key"><div class="tb-btn manage-key-btn switch-view" data-hide="manageCustomers" data-title="@Resources.ManageKeys" data-target="manageKeys"><span></span></div></td>',
        '<td class="tb-manage-subs"><div class="tb-btn manage-subs-btn switch-view" data-hide="manageCustomers" data-title="@Resources.ManageSubscriptions" data-target="manageSubscriptions"><span></span></div></td>',
        expire,
        name
    ]);
}}$('.tb-btn.switch-view').on('click', function(e) {
  e.preventDefault();
  switchView(this);
 console.log('Testing'); //not firing
});

Значок отображается, но не вызывает событие click, как это должно быть. Приложенный ниже показывает, что мы можем видеть, что он добавляет div, как и ожидалось.



b> p>

Добавление события щелчка в populateDataTable() работает.

$('#customerTable tbody').on('click', '.tb-btn.switch-view', function() {
    switchView(this);
});

0 ответов