鍵盤焦點
自:KeyTable 2.0.0 起
KeyTable 已將焦點放在一個儲存格上。
請注意 - 此屬性需要 DataTables 的 KeyTable 擴充功能。
說明
每當 KeyTable 將焦點放在儲存格上時,就會觸發 key-focus
事件。這可能是以下情況的結果:
- 使用預設焦點初始化 (
keys.focus
) - 使用者使用滑鼠互動 (點擊儲存格)
- 使用者使用鍵盤互動 (移動焦點)
- API 焦點 (
cell().focus()
)。
知道何時儲存格獲得焦點很有用,這樣才能採取動作。例如,您可能希望顯示關於儲存格的額外資訊、調整儲存格的樣式,或為最終使用者啟用額外的互動選項。
此事件將在 key-blur
事件之後發生 (如果有一個儲存格要失去焦點 - 也就是說,兩個儲存格永遠無法同時擁有焦點)。
此外,此事件不會在已獲得焦點的儲存格上觸發 - 也就是說,已獲得焦點的儲存格在失去焦點之前無法再次獲得焦點。如果您需要知道何時在已獲得焦點的儲存格上觸發焦點,請參閱 key-refocus
以取得適當的事件。
類型
function function( e, datatable, cell, originalEvent )
- 參數
名稱 類型 選用 1 e
否 jQuery 事件物件
2 datatable
否 相關表格的 DataTable API 實例
3 cell
否 包含已獲得焦點的儲存格的 DataTables API 實例 (
cell()
)4 originalEvent
否 觸發此焦點的原始事件。它可能是
- DOM
click
事件 - 例如,點擊以將焦點放在儲存格上 - DOM
focus
事件 - 例如,使用 Tab 鍵在頁面中瀏覽,並使用 Tab 鍵進入表格。 null
:沒有原始事件 - 例如,當使用cell().focus()
時。
- DOM
範例
當焦點變更時,顯示關於儲存格的資訊
var table = new DataTable('#myTable', {
keys: true
});
table
.on('key-focus', function (e, datatable, cell, originalEvent) {
var rowData = datatable.row(cell.index().row).data();
$('#details').html('Cell in ' + rowData[0] + ' focused');
})
.on('key-blur', function (e, datatable, cell) {
$('#details').html('No cell selected');
});
相關
以下選項直接相關,也可能在您的應用程式開發中很有用。