Bootstrap Table 的事件 API。

本頁目錄

事件可以通過兩種方式綁定:

  • 通過選項對象
  • 通過 jQuery 事件處理器

通過選項對象綁定:

// 此時函數的最後一個參數是 bootstrap-table 實例

$('#table').bootstrapTable({
  onEventName: function (arg1, arg2, ...) {
    // ...
  }
})

通過 jQuery 事件處理器綁定:

// 可以在變量 e 上獲取 sender 屬性,即 bootstrap-table 實例

$('#table').on('event-name.bs.table', function (e, arg1, arg2, ...) {
  // ...
})

注意:如果使用 jQuery 事件處理器,請確保在事件觸發之前綁定監聽器!

注意: 下面的事件名稱(例如 onCheckonClickRowonLoadSuccess)是在使用 JavaScript 綁定事件時的確切事件名。

onAll

  • jQuery 事件: all.bs.table

  • 參數: name, args

  • 詳情:

    當任何事件觸發時執行。參數包含:

    • name:事件名稱。
    • args:事件數據。

onCheck

  • jQuery 事件: check.bs.table

  • 參數: row, $element

  • 詳情:

    當用戶選中某一行時觸發。參數包含:

    • row:被選中行對應的記錄。
    • $element:被選中的 DOM 元素。

onCheckAll

  • jQuery 事件: check-all.bs.table

  • 參數: rowsAfter, rowsBefore

  • 詳情:

    當用戶選中所有行時觸發。參數包含:

    • rowsAfter:當前已選中行對應的記錄數組。
    • rowsBefore:之前已選中行對應的記錄數組。

onCheckSome

  • jQuery 事件: check-some.bs.table

  • 參數: rows

  • 詳情:

    當用戶選中部分行時觸發。參數包含:

    • rows:剛被選中行對應的記錄數組。

onClickCell

  • jQuery 事件: click-cell.bs.table

  • 參數: field, value, row, $element

  • 詳情:

    當用戶單擊單元格時觸發。參數包含:

    • field:被點擊單元格對應的字段名。
    • value:被點擊單元格對應的數據值。
    • row:被點擊行對應的記錄。
    • $element:該單元格的 td 元素。

onClickRow

  • jQuery 事件: click-row.bs.table

  • 參數: row, $element, field

  • 詳情:

    當用戶單擊某一行時觸發。參數包含:

    • row:被點擊行對應的記錄。
    • $element:該行的 tr 元素。
    • field:被點擊單元格對應的字段名。

onCollapseRow

  • jQuery 事件: collapse-row.bs.table

  • 參數: index, row, detailView

  • 詳情:

    當點擊詳情圖標折疊詳情視圖時觸發。參數包含:

    • index:被折疊行的索引。
    • row:被折疊行對應的記錄。
    • detailView:被折疊的詳情視圖。

onColumnSwitch

  • jQuery 事件: column-switch.bs.table

  • 參數: field, checked

  • 詳情:

    切換列的顯示/隱藏狀態時觸發(通過showColumns功能)。參數包含:

    • field:被切換列的字段名。
    • checked:該列的顯示狀態(true 表示顯示,false 表示隱藏)。

onColumnSwitchAll

  • jQuery 事件: column-switch-all.bs.table

  • 參數: checked

  • 詳情:

    一次性切換所有列的顯示/隱藏狀態時觸發。參數包含:

    • checked:所有列的顯示狀態。

onDblClickCell

  • jQuery 事件: dbl-click-cell.bs.table

  • 參數: field, value, row, $element

  • 詳情:

    當用戶雙擊單元格時觸發。參數包含:

    • field:被點擊單元格對應的字段名。
    • value:被點擊單元格對應的數據值。
    • row:被點擊行對應的記錄。
    • $element:該單元格的 td 元素。

onDblClickRow

  • jQuery 事件: dbl-click-row.bs.table

  • 參數: row, $element, field

  • 詳情:

    當用戶雙擊某行時觸發。參數包含:

    • row:被雙擊行對應的記錄。
    • $element:該行的 tr 元素。
    • field:被雙擊單元格對應的字段名。

onExpandRow

  • jQuery 事件: expand-row.bs.table

  • 參數: index, row, $detail

  • 詳情:

    當點擊詳情圖標展開詳情視圖時觸發。參數包含:

    • index:被展開行的索引。
    • row:與被展開行對應的記錄。
    • $detail:位於當前 tr 元素之後的詳情 div DOM 元素,可以調用 jQuery 方法自定義詳情視圖。

onLoadError

  • jQuery 事件: load-error.bs.table

  • 參數: status, jqXHR

  • 詳情:

    從遠程服務器加載數據出錯時觸發。參數包含:

    • status:HTTP 狀態碼。
    • jqXHR:jqXHR 對象,是 XMLHttpRequest 對象的超集。更多信息參見 jqXHR Type

onLoadSuccess

  • jQuery 事件: load-success.bs.table

  • 參數: data

  • 詳情:

    從遠程服務器成功加載數據時觸發。參數包含:

    • data:加載到表格中的數據。(注意:數據加載到表格後無法再修改。如果需要在表格使用前處理返回數據,請使用自定義的 responseHandler。)
    • status:HTTP 狀態碼。
    • jqXHR:jqXHR 對象,是 XMLHttpRequest 對象的超集。更多信息參見 jqXHR Type

onPageChange

  • jQuery 事件: page-change.bs.table

  • 參數: number, size

  • 詳情:

    當頁碼或每頁條數改變時觸發。參數包含:

    • number:頁碼。
    • size:每頁條數。

onPostBody

  • jQuery 事件: post-body.bs.table

  • 參數: data

  • 詳情:

    當表格主體渲染完成並掛載到 DOM 後觸發。參數包含:

    • data:已渲染的數據。

onPostFooter

  • jQuery 事件: post-footer.bs.table

  • 參數: $tableFooter

  • 詳情:

    當頁腳渲染完成並掛載到 DOM 後觸發。參數包含:

    • $tableFooter:頁腳的 DOM 元素。

onPostHeader

  • jQuery 事件: post-header.bs.table

  • 參數: undefined

  • 詳情:

    當表頭渲染完成並掛載到 DOM 後觸發。

onPreBody

  • jQuery 事件: pre-body.bs.table

  • 參數: data

  • 詳情:

    在表格主體渲染前觸發。參數包含:

    • data:即將渲染的數據。

onRefresh

  • jQuery 事件: refresh.bs.table

  • 參數: params

  • 詳情:

    點擊刷新按鈕後觸發。參數包含:

    • params:發送到服務器的額外參數。

onRefreshOptions

  • jQuery 事件: refresh-options.bs.table

  • 參數: options

  • 詳情:

    刷新選項後、重新初始化表格前觸發。參數包含:

    • options:表格選項對象。

onResetView

  • jQuery 事件: reset-view.bs.table

  • 參數: undefined

  • 詳情:

    當重置表格視圖時觸發。

onScrollBody

  • jQuery 事件: scroll-body.bs.table

  • 參數: $tableBody

  • 詳情:

    表格主體滾動時觸發。

onSearch

  • jQuery 事件: search.bs.table

  • 參數: text

  • 詳情:

    執行表格搜索時觸發。參數包含:

    • text:搜索框中的文本。

onSort

  • jQuery 事件: sort.bs.table

  • 參數: name, order

  • 詳情:

    用戶對列排序時觸發。參數包含:

    • name:排序列的字段名。
    • order:排序列的排序順序。

onToggle

  • jQuery 事件: toggle.bs.table

  • 參數: cardView

  • 詳情:

    切換表格視圖時觸發。參數包含:

    • cardView:表格的卡片視圖狀態。

onTogglePagination

  • jQuery 事件: toggle-pagination.bs.table

  • 參數: state

  • 詳情:

    切換分頁狀態時觸發。參數包含:

    • state:新的分頁狀態(true 表示啟用分頁,false 表示禁用分頁)。

onUncheck

  • jQuery 事件: uncheck.bs.table

  • 參數: row, $element

  • 詳情:

    當用戶取消選中某一行時觸發。參數包含:

    • row:被取消選中行對應的記錄。
    • $element:被取消選中的 DOM 元素。

onUncheckAll

  • jQuery 事件: uncheck-all.bs.table

  • 參數: rowsAfter, rowsBefore

  • 詳情:

    當用戶取消選中所有行時觸發。參數包含:

    • rowsAfter:當前已選中行對應的記錄數組。
    • rowsBefore:之前已選中行對應的記錄數組。

onUncheckSome

  • jQuery 事件: uncheck-some.bs.table

  • 參數: rows

  • 詳情:

    當用戶取消選中部分行時觸發。參數包含:

    • rows:之前已選中行對應的記錄數組。

onVirtualScroll

  • jQuery 事件: virtual-scroll.bs.table

  • 參數: startIndex, endIndex

  • 詳情:

    滾動虛擬滾動區域時觸發。參數包含:

    • startIndex:虛擬滾動的起始行索引。
    • endIndex:虛擬滾動的結束行索引。