我想用上下箭头手动触发排序事件,但当我点击thead中的填充区域时,排序事件也被触发了。如果我禁止使用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/(我不想在点击红色区域时触发排序事件(
您可以unbind
标题的点击监听器:
$("#mainList").tablesorter( {
headers: {
0: {
sorter: false
},
3: {
sorter: false
}
}
} ).find('thead .header').unbind('click');
http://jsfiddle.net/3aN8Q/9/
(在jQuery 1.7+中使用off()
(