Uncaught ReferenceError: function is not defined : Can not call my function with onclick button [已解决]

时间:2021-03-11 11:17:28

标签: javascript jquery callback

当我尝试将单个事件添加到我在表格中创建的每个按钮时,我收到了来自浏览器的奇怪错误。 直到现在,它从未发生过。谁能告诉我我的盲点在哪里?谢谢

这是我如何从响应数据生成带有回调函数的表:

$("#bulletin .card-body tbody").html("")
$.each(data.content, function(index, item){
  var type = $("#bulletin .card-header button").eq(item.type-1).text()
  var res = 
   '<tr>'+
    '<td>'+parseInt(index+1)+'</td>'+
    '<td>'+item.announcement+'</td>'+
    '<td>'+type+'</td>'+
    '<td>'+item.announcement+'</td>'+
    '<td>'+item.createdTime+'</td>'+
   '<td><button class="btn btn-dark" onclick="openBulletinDetails(\'' + item.id + '\')">details</button</td>'+
  '</tr>';
 $("#bulletin .card-body tbody").append(res)
})

然后回调:

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

我只能得到这个错误

<块引用>

未捕获的引用错误:未定义 openBulletinDetails

如果有帮助,我使用 ajax 从 restful API 请求数据以获取该 JSON。

function generateTable(){   
  // XHR
  $.ajax({
     url: url,
     type: "GET",
     dataType: "json",
     beforeSend: function(xhr) {
        xhr.setRequestHeader("Authorization", "bearer " + globalAuthToken);
     },
     success: function(data) {
         // generate the table here....
     },
     error: function(data) {
        alert(data.status);
     }
  });  
}
function openBulletinDetails(id){
  console.log(id)
}

问题解决!!!

我收到这个错误的原因是因为 >> 我将我的外部 js 文件设置为模块类型。 没有任何逻辑错误。但是为什么要停止 onclick 事件呢?不知道...如果有人知道原因,请给我一些回复。

0 个答案:

没有答案