javascript - 使用 jQuery Tablesorter 2.0 插件时如何禁用 thead 上的点击触发器?

标签 javascript jquery html

我想要有向上和向下箭头来手动触发排序事件,但是当我单击标题中的填充区域时,排序事件也被触发。如果我使用 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');  

http://jsfiddle.net/3aN8Q/9/

(在 jQuery 1.7+ 中使用 off() )

关于javascript - 使用 jQuery Tablesorter 2.0 插件时如何禁用 thead 上的点击触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24485918/

相关文章:

jquery - 获取 jquery 的 .append() 返回包含 append 对象而不是容器的包装集

html - 使用 CSS 的透明选项卡菜单布局

php curl DOM,如何提取带有样式的内容

javascript - rails : browser can't scroll

javascript - 单击按钮附加 JSON 值

javascript - 提交 AjaxForm 时识别特定按钮

javascript - 动态创建 Angular View

javascript - 为 CodeMirror 编写自定义模式,用于 Brackets

javascript - 如何在javascript中刷新div,它有另一个脚本作为主体?

javascript - 隐藏除第一个图像之外的所有图像而不使用 CSS