user-select
自:Select 1.2.0 起
使用者動作將導致表格中的項目被選取。
請注意 - 此屬性需要 DataTables 的 Select 擴充功能。
描述
當使用者與表格互動(通常是點擊表格中的單元格)時,此事件會在項目被選取之前觸發。
此事件是可取消的 - 例如,在事件處理程序中使用 e.preventDefault()
或 return false;
將會停止 Select 執行任何進一步的選取動作。這在您不希望表格中的某些項目導致項目選取的情況下非常有用(例如,您可能有一些執行其他動作的圖片,不應觸發列選取)。
請注意,當使用項目選取的 API 方法(例如 row().select()
)時,不會觸發此事件。它只會由 select.selector
定義的使用者動作觸發。
如果您希望完全禁止選取列,請使用 select.selectable
選項。
此外,與所有 DataTables 發射的事件一樣,此事件會使用 dt
命名空間觸發。因此,要監聽此事件,您也必須使用 dt
命名空間,只需將 .dt
附加到您的事件名稱即可(當使用 on()
和 one()
時,會自動完成此操作)。
類型
function function( e, dt, type, cell, originalEvent )
- 參數
名稱 類型 可選 1 e
否 jQuery 事件物件
2 dt
否 DataTables API 實例
3 type
否 要選取的項目類型。可以是
row
、column
或cell
。4 cell
否 事件觸發的單元格的
cell()
結果。5 originalEvent
否 當使用者啟動選取監聽事件時,由瀏覽器產生的原始事件。
範例
當點擊圖片時,防止項目選取
var table = new DataTable('#myTable', {
select: true
});
table.on('user-select', function (e, dt, type, cell, originalEvent) {
if (originalEvent.target.nodeName.toLowerCase() === 'img') {
e.preventDefault();
}
});
相關
以下選項直接相關,也可能在您的應用程式開發中很有用。