我想要有向上和向下箭头来手动触发排序事件,但是当我单击标题中的填充区域时,排序事件也被触发。如果我使用 sorter: false
选项禁止该列,那么整个列将被禁用,并且箭头也不会生效。那么如何更改为仅通过箭头 img 触发排序事件?
代码更容易理解,如下所示,我必须打开我想要排序的列:
$("#mainList").tablesorter( {
headers: {
0: {
sorter: false
},
// 1: {
// sorter: false
// },
// 2: {
// sorter: false
// },
3: {
sorter: false
}
}
} );
但是如果是这样的话,当我点击填充区域时也会触发点击事件,而不仅仅是箭头:
$("#sortTblByNameUp").click(function() {
$("#mainList").trigger("sorton", [ [[2, 0]] ] );
return false;
}).hover(function(){
$("#sortTblByProductCountUp").attr('src', '/imgserver/images/v2/up_gray.gif');
$("#sortTblByNameDown, #sortTblByProductCountDown").attr('src', '/imgserver/images/v2/down_gray.gif');
$(this).attr('src', '/imgserver/images/v2/up.gif');
});
这是一个工作中的jsfiddle,我认为更容易理解:http://jsfiddle.net/3aN8Q/6/ (我不想在点击红色区域时触发排序事件)
最佳答案
您可以取消绑定(bind)
header 的点击监听器:
$("#mainList").tablesorter( {
headers: {
0: {
sorter: false
},
3: {
sorter: false
}
}
} ).find('thead .header').unbind('click');
(在 jQuery 1.7+ 中使用 off()
)
关于javascript - 使用 jQuery Tablesorter 2.0 插件时如何禁用 thead 上的点击触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24485918/