我正在使用 Tabulator 創建表格。我的每一行都有一個洗掉圖示(自定義垃圾桶圖示)。但是onclick在自定義圖示上觸發事件不起作用。
這是我的代碼:
{formatter: deleteBtn, title:"Action"}
let deleteCallback = function(e, cell) {
cell.getRow().delete();
};
let deleteBtn = function(cell, formatterParams, onRendered) {
return `<span onclick="deleteCallback('${cell}')"><i ></i></span>`;
};
按鈕顯示正確。但是,當我單擊該按鈕時,我收到一條錯誤訊息:Uncaught TypeError: Cannot read properties of undefined (reading 'getRow'). 基本上cell是undefined。
有一個cellClick事件會觸發操作,但我不想要那樣。我希望單擊單元格內的按鈕而不是單元格本身。
我如何讓這個作業?
謝謝
uj5u.com熱心網友回復:
您可以將自己的 deleteButton 格式化程式定義為。
Tabulator.extendModule(
"format",
"formatters",
(function () {
return {
deleteButton: function (cell) {
const deleteCallback = () => {
cell.getRow().delete();
};
let span = document.createElement("span");
let icon = document.createElement("i");
icon.className = "fa fa-trash-o";
icon.addEventListener("click", deleteCallback);
span.append(icon);
return span;
},
};
})());
這是一個適合你的代碼筆
我仍然建議對您的代碼使用“eventDelegation”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/388662.html
標籤:javascript 按钮 点击 制表机 格式化程序
