You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DataTables.net如何禁用默认排序 仅使用自定义代码实现排序功能

解决办法

你可以根据业务场景选择以下任意一种方案禁用DataTables默认的表头点击排序逻辑:

  • 方案1:初始化DataTables时全局禁用所有排序功能
    适合完全不需要使用DataTables自带排序能力的场景,初始化时添加ordering配置项即可:

    $div.find('table').DataTable({
      ordering: false, // 禁用全部默认排序逻辑
      // 原有其他配置保持不变
    })
    
  • 方案2:仅禁用表头点击触发排序,保留DataTables排序API调用能力
    适合后续还需要通过JS代码调用DataTables的排序方法,只是不想用户点击表头触发默认排序的场景,初始化时添加列配置即可:

    $div.find('table').DataTable({
      columnDefs: [{
        targets: '_all',
        orderable: false // 所有列禁用点击表头触发排序
      }]
      // 原有其他配置保持不变
    })
    
  • 方案3:无需修改初始化配置,直接解绑原有表头点击事件
    适合DataTables已经完成初始化,不方便修改初始化代码的场景,先移除原有事件再绑定自定义逻辑:

    const $table = $div.find('table')
    // 移除已绑定的所有表头点击事件
    $table.off('click', 'thead th')
    // 绑定自定义排序逻辑
    $table.on('click', 'thead th', async function () {                               
      doSearch()                
    })
    

内容的提问来源于stack exchange,提问作者iakwvina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:57:01