如何在使用jQuery Tablesorter 2.0插件时禁用ad上的点击触发器



我想用上下箭头手动触发排序事件,但当我点击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()(

最新更新