tablesorter 错误地滚动了带有粘性的禁用按钮 headers

tablesorter incorrectly scrolls disabled buttons with sticky headers

当我在一列中启用粘性 headers 和按钮时,我发现 tablesorter 有一些奇怪的行为。当按钮 启用 时,它们会在我向上滚动行时正确地消失 "under" header。但是,当按钮 禁用 时,它们不会随着向上滚动 "under" 而消失 header - 相反,它们会出现在 header 上方。请参阅图片了解我的意思。第一张图片显示问题)按钮禁用),而第二张图片显示正确的行为(启用按钮)(header 是带有 "Action" 文本的浅蓝色):

非常感谢您的帮助。

编辑 1:

Table排序版本为2.18.3

这是启用和禁用按钮的 table js 和 css:

    $('#tablesorter-ap-list').tablesorter({
        theme : 'blue',
        headerTemplate: '{content} {icon}',
        widgets    : ['zebra','columns', 'cssStickyHeaders', 'uitheme'],
        sortList     :[[0,0]],
        headers: {},
        widthFixed : true,
        widgetOptions: {
            cssStickyHeaders_offset        : 0,
            cssStickyHeaders_addCaption    : true,
            // jQuery selector or object to attach sticky header to
            cssStickyHeaders_attachTo      : null,
            cssStickyHeaders_filteredToTop : true,
            cssStickyHeaders_zIndex        : 10
        }
    });

这是启用按钮列的 css(本例中有两个按钮):

<td>
    <a type="button" class="btn btn-success btn-xs" href="/hs/bk/ae/986/cac:cac_top/" role="button">Edit</a>
    <a type="button" class="btn btn-success btn-xs" href="/hs/bk/av/986/cac:cac_top/">View</a>
</td>

这里是禁用按钮盒的 css。有趣的是,禁用一个或两个按钮并不重要 - 只要禁用一个按钮,就会显示不正确的滚动行为):

<td>
    <a type="button" disabled class="btn btn-success btn-xs" href="/hs/bk/ae/954/cac:cac_top/" role="button">Edit</a>
    <a type="button" class="btn btn-success btn-xs" href="/hs/bk/av/954/cac:cac_top/">View</a>
</td>

这似乎是 stacking context 的问题。当一个按钮被禁用时,Bootstrap 应用一个 opacity 到按钮;这会导致使用转换的 thead 出现堆叠问题。

我找到了这个解决方案,它可以恢复不透明度并更改背面并更改背景颜色 (demo):

a.btn[disabled] {
    opacity: 1;
    background-color: rgba(0,128,0,0.3);
    border-color: rgba(0,128,0,0.3);
}