如何禁用jQuery tablesorter 2.3的升序排序功能?
实现Tablesorter表头仅在未排序与降序间切换
要让Tablesorter的表头点击时跳过升序,只在未排序和降序之间循环,直接修改列的sortCycle配置即可,无需复杂的事件监听。
单列配置
如果只需要指定某几列生效,初始化时在headers选项中为对应列设置sortCycle为[0,2](0=未排序,2=降序):
$("table").tablesorter({ // 初始不设置sortList,保持表格未排序状态 headers: { 0: { sortCycle: [0, 2] }, // 第1列(索引从0开始) 2: { sortCycle: [0, 2] } // 第3列 } });
全局所有列生效
如果希望所有列都遵循这个规则,直接修改Tablesorter的默认sortCycle:
// 全局修改排序循环逻辑 $.tablesorter.defaults.sortCycle = [0, 2]; // 初始化表格 $("table").tablesorter();
原理说明
Tablesorter默认的排序循环是[0,1,2](未排序→升序→降序→未排序),修改sortCycle为[0,2]后,点击表头时就会在未排序和降序之间切换,完全跳过升序环节,同时表格初始状态保持未排序(无需额外设置sortList)。
注意:该方法适用于Tablesorter 2.0及以上版本,旧版本可能需要升级或调整实现方式。
内容的提问来源于stack exchange,提问作者Mason
相关产品推荐
相关产品推荐

