Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用datatable.fnAddData追加HTML字符串时,jquery函数未启动_Javascript_Jquery_Html_Datatable - Fatal编程技术网

Javascript 使用datatable.fnAddData追加HTML字符串时,jquery函数未启动

Javascript 使用datatable.fnAddData追加HTML字符串时,jquery函数未启动,javascript,jquery,html,datatable,Javascript,Jquery,Html,Datatable,当我使用dataTable.fnAddData附加HTML字符串时,jquery函数未启动 因此,我有一个函数populateDataTable(),我需要两列来呈现图标,而不是JSON中的数据。 因此,我试图在fnAddData()中添加包含元素类的HTML字符串。但不知何故,它并没有在图标上触发点击事件 function populateDataTable(data) { $("#customerTable").DataTable().clear(); var lengt

当我使用
dataTable.fnAddData
附加HTML字符串时,jquery函数未启动

因此,我有一个函数
populateDataTable()
,我需要两列来呈现图标,而不是JSON中的数据。 因此,我试图在
fnAddData()
中添加包含元素类的HTML字符串。但不知何故,它并没有在图标上触发点击事件

  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
});

您可以尝试其他语法来侦听单击事件

$('td').on('click', '.tb-btn.switch-view', function(e) {
  e.preventDefault();
  switchView(this);
 console.log('Testing'); //not firing
});

谢谢我真傻。在更改语法并放入populateDataTable()函数后立即工作。
$('td').on('click', '.tb-btn.switch-view', function(e) {
  e.preventDefault();
  switchView(this);
 console.log('Testing'); //not firing
});