Tabulator callEditCancelled回调:如何确定键码?
Tabulator callEditCancelled Callback: How to the Determine Key Code?
我正在尝试捕获在 Tabulator
中触发 cellEditCancelled
回调的关键代码,如下所示:
var table = new Tabulator(divId, {
cellEditCancelled: function (cell) {
//cell - cell component
var col = cell.getField();
var mycode= event.which || event.keyCode; //'event' is undefined
alert("cellEditCancelled called\ncolumn: " + col + "\nkeyCode: " + mycode);
},
columns: [
{ title: "Project ID", field: "Projectid", widthGrow: 1, responsive: 0, hozAlign: "center", editor: "autocomplete", editorParams: { showListOnEmpty: true, allowEmpty: false, values: window.projectIdList } },
{ title: "Cust Job", field: "CustomerJobId", widthGrow: 1.25, responsive: 0, hozAlign: "center", editor: "autocomplete", editorParams: { showListOnEmpty: true, allowEmpty: false, values: window.customerJobIdList } },
{ title: "Project Desc", field: "ProjectDesc", widthGrow: 1.5, responsive: 0, hozAlign: "center", editor: "autocomplete", editorParams: { showListOnEmpty: true, allowEmpty: false, values: window.projDescList } },
]
});
与 Tabulator
中的其他回调不同,callEditCancelled
回调显然不公开 event
对象。 (例如,cellClick
回调在其关联的函数签名中公开了一个事件对象。)
我需要区分 keyCode
值以确定如何处理 callEditCancelled
事件。例如,单击 Tab
键与单击 Esc
键的处理方式不同。
一定要简单。我错过了什么?
非常感谢任何帮助。
事件对象未传递到此函数中,因为 取消编辑 事件不是由按键触发的,它可以由任意数量的事物触发:
- 注意力不集中
- 按键
- 鼠标事件
- 滚动
- Table 调整大小
- 行更新
- 在单元格组件上调用的 cancelEdit 函数或 table
如果您只是谈论关键事件,那么实际上并不取决于 table 何时触发取消事件,这些实际上由每个编辑器单独处理,每个编辑器都有一系列绑定监听失去焦点或某些关键事件,然后可以选择什么都不做,触发 success 或 取消功能。
有关这方面的更多详细信息,请参阅 Editor Documentation
由于这些原因,没有事件对象传递到 callEditCancelled 回调中。调用此函数时,编辑已被取消,无法阻止它。
如果您特别希望跟踪关键事件,那么您可以考虑向文档中添加一个侦听器,以侦听最后一个 keypress/mouse 事件并将该事件对象存储在一个全局可访问的变量中。然后您可以在 callEditCancelled 回调中检查该变量以查看最后一个事件是什么。
我正在尝试捕获在 Tabulator
中触发 cellEditCancelled
回调的关键代码,如下所示:
var table = new Tabulator(divId, {
cellEditCancelled: function (cell) {
//cell - cell component
var col = cell.getField();
var mycode= event.which || event.keyCode; //'event' is undefined
alert("cellEditCancelled called\ncolumn: " + col + "\nkeyCode: " + mycode);
},
columns: [
{ title: "Project ID", field: "Projectid", widthGrow: 1, responsive: 0, hozAlign: "center", editor: "autocomplete", editorParams: { showListOnEmpty: true, allowEmpty: false, values: window.projectIdList } },
{ title: "Cust Job", field: "CustomerJobId", widthGrow: 1.25, responsive: 0, hozAlign: "center", editor: "autocomplete", editorParams: { showListOnEmpty: true, allowEmpty: false, values: window.customerJobIdList } },
{ title: "Project Desc", field: "ProjectDesc", widthGrow: 1.5, responsive: 0, hozAlign: "center", editor: "autocomplete", editorParams: { showListOnEmpty: true, allowEmpty: false, values: window.projDescList } },
]
});
与 Tabulator
中的其他回调不同,callEditCancelled
回调显然不公开 event
对象。 (例如,cellClick
回调在其关联的函数签名中公开了一个事件对象。)
我需要区分 keyCode
值以确定如何处理 callEditCancelled
事件。例如,单击 Tab
键与单击 Esc
键的处理方式不同。
一定要简单。我错过了什么?
非常感谢任何帮助。
事件对象未传递到此函数中,因为 取消编辑 事件不是由按键触发的,它可以由任意数量的事物触发:
- 注意力不集中
- 按键
- 鼠标事件
- 滚动
- Table 调整大小
- 行更新
- 在单元格组件上调用的 cancelEdit 函数或 table
如果您只是谈论关键事件,那么实际上并不取决于 table 何时触发取消事件,这些实际上由每个编辑器单独处理,每个编辑器都有一系列绑定监听失去焦点或某些关键事件,然后可以选择什么都不做,触发 success 或 取消功能。
有关这方面的更多详细信息,请参阅 Editor Documentation
由于这些原因,没有事件对象传递到 callEditCancelled 回调中。调用此函数时,编辑已被取消,无法阻止它。
如果您特别希望跟踪关键事件,那么您可以考虑向文档中添加一个侦听器,以侦听最后一个 keypress/mouse 事件并将该事件对象存储在一个全局可访问的变量中。然后您可以在 callEditCancelled 回调中检查该变量以查看最后一个事件是什么。