Tablesorter事件源不够具体。取消排序

问题描述 投票:1回答:1

我有一个看起来像这样的表

及其HTML:

<th style="text-align: center; background-color: rgb(255, 255, 255); position: relative; top: 0px; -moz-user-select: none;" data-column="4" class="tablesorter-header tablesorter-headerDesc" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="dataTable" unselectable="on" aria-sort="descending" aria-label="DI: Descending sort applied, activate to apply an ascending sort" data-sortedby="user">
    <div class="tablesorter-header-inner">
        <i onclick="javascript:ShowFilter(event,'dDICategory');" class="fa fa-filter"/>
        <i class="fa fa-sort-asc sort-icon"/>
        <i class="fa fa-sort-desc sort-icon"/>
        <i class="fa fa-sort sort-icon"/>DI<div id="helpIcon" data-toggle="modal" data-target="#DIColumnHelpModal">
            <span class="glyphicon glyphicon-question-sign pull-right"/>
        </div>
    </div>
</th>

您可以看到我有一个过滤器,可以对指针进行上下排序以及帮助图标。

我的问题是,当我单击问号时,表格会在向我显示帮助模式之前进行排序。而且我不想要。

我希望能够执行以下操作:

如果事件源是sort-asc或sort-desc字形,则让排序事件继续。如果事件源是过滤器字形,请不要排序和执行ShowFilter函数。如果事件源是问号标志符号,请不要排序和显示模式。

因此,我需要获取事件的实际来源(sort-asc / sort-desc,过滤器或问号)。但是问题是,当我检查event.target的内容时得到的是整个表。我不知道如何获得更具体的答案。

当然,一旦我知道触发该事件的字形,我想就需要取消排序事件。

javascript sorting events tablesorter
1个回答
0
投票

向过滤器图标元素添加tablesorter-noSort类名称;如果要重命名该类,请参见cssNoSort option

© www.soinside.com 2019 - 2024. All rights reserved.