{hero}

key-prefocus

自:KeyTable 2.9.0

.
請注意 - 此屬性需要 DataTables 的 KeyTable 擴充套件。

描述

此事件會在 KeyTable 將焦點從目前單元格(如果有的話)模糊化,然後聚焦到新的單元格之前觸發。它提供了一種在 KeyTable 對表格執行任何互動變更之前,取消焦點的方式。

若要取消焦點動作,請從您的 key-prefocus 事件處理常式中返回 false。由於它是一個 Javascript 函式,您可以執行檢查來判斷應該返回什麼值(注意沒有 return 陳述式,即 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;
	}
});

相關

以下選項直接相關,也可能在您的應用程式開發中很有用。