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
相关产品推荐
相关产品推荐

