{hero}

key-prefocus

自版本:KeyTable 2.9.0

.
请注意 - 此属性需要 DataTables 的 KeyTable 扩展。

描述

此事件在 KeyTable 从当前单元格(如果有焦点)模糊焦点并聚焦到新单元格之前触发。它提供了一种在 KeyTable 对表格执行任何交互更改之前取消焦点的途径。

要取消焦点操作,请从您的 key-prefocus 事件处理程序中返回 false。由于它是一个 Javascript 函数,您可以执行检查以确定应返回什么值(注意没有返回值,例如 undefined 不会导致取消焦点),包括检查被单击单元格所在行的值。

如上所述,此事件发生在 KeyTable 模糊当前具有焦点的单元格之前,因此如果您想取消焦点 _并_ 从当前具有焦点的单元格中模糊,则必须调用 cell.blur().

类型

function function( e, datatable, cell, originalEvent )

参数

示例

禁止聚焦到任何不满足条件的单元格。

var table = new DataTable('#myTable', {
	keys: true
});

table.on('key-prefocus', function (e, dt, cell, currentCell, org) {
	let row = dt.row(cell.index().row).data();

	return row.fruit === 'Apple' ? false : true;
});

如上所述,但在禁止时模糊焦点。

var table = new DataTable('#myTable', {
	keys: true
});

table.on('key-prefocus', function (e, dt, cell, org) {
	let row = dt.row(cell.index().row).data();

	if (row.fruit === 'Apple') {
		// Blur current focus
		dt.cell.blur();
		return false;
	}
});

相关

以下选项与之直接相关,并且可能在您的应用程序开发中也很有用。