首页 > 解决方案 > 单击事件未通过 jquery 定义

问题描述

我得到了以下 DataTable,其中包含通过相应列显示的数据和 Web 引导链接,如下所示:

$(document).ready(function() {

 $('#example').DataTable({
            destroy: true,
            "ajax":{
                "url":"http://localhost:3000/tasks/list",
                "dataSrc": ""
            },
            "columns":[
               {"data":"title", "title":"Τίτλος"},
               {"data":"description", "title":"Περιγραφή"},
               { "data": "ID",
                 "title": "Επισκόπηση",
                 "render": function(data, type, row, meta){
                    if(type === 'display'){
                         data = '<a class="btn btn-success btn-sm viewlink" role="button" data-toggle="modal" data-target="#viewModal" href="/tasks/todo/' + data + '">' + '<i class="fas fa-eye"></i>' + '</a>';
                    }
                    return data;
                 }
              } ],
             length: 20,
        });



$('.viewlink').on("click", function(e){

        console.log("Hello!!!");

        });

});

不幸的是,当我按下引导链接按钮时,我没有通过 console.log 得到任何响应。

任何对我来说方便的想法!

问候

标签: datatables-1.10

解决方案


您必须使用委托的事件处理程序,即

$('#example').on('click', '.viewlink', function(e) {
  //
})

原因:在声明您的处理程序时.viewLink,DOM 中不存在任何 '。


推荐阅读