首页 > 解决方案 > 如何将 onclick 事件附加到动态创建的元素

问题描述

我正在尝试触发附加到 html 标记的事件

该表是在函数中构建的

    function detail(id){
      console.log(id)
    }

function search(data){
                $.post(url, {valorBusqueda: textoBusqueda}, function(data) {

                    data = JSON.parse(data);

                        $.each(data, function(i, val){

                                id = val.id;


                                html += '<tr onclick="detail('+id+')">';
                                html += '<tr>';
                            }
                        });      

                 }); 
}

但是当我单击该元素时,我得到了这个错误:

未捕获的 ReferenceError:未定义 detellePaciente

何时在我的文件中实际定义

知道如何解决这个问题吗?

标签: javascriptjqueryhtml

解决方案


更改此行:

html += '<tr class="clickedclass" data-id = "' + id + '">';

并在 Jquery 中对此发出警报:

$("body").on("click", ".clickedclass", function(){
  var id = $(this).attr("data-id");
  console.log(id);
});

推荐阅读