javascript - Tablesorter 事件源不够具体。取消排序
问题描述
我有一张看起来像这样的桌子
及其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 的内容时得到的是整个表。我不知道如何获得更具体的答案。
当然,一旦我知道是哪个字形触发了事件,我想我需要取消排序事件。
解决方案
tablesorter-noSort
给过滤器图标元素添加类名;如果要重命名该类,请参阅该cssNoSort
选项。
推荐阅读
- android - 滚动到recyclerview android中的特定视图类型
- javascript - 如何使用 JS 触发下载音频链接,而无需浏览器导航到新页面?
- r - 使用 R 命令 dnorm 查找计数的期望值
- laravel - 如何在 Laravel Vue 设置中使用作用域插槽来类绑定
- php - 检测 fastCGI 是否在远程服务器上运行
- kubernetes - 无法连接到 Kafka 无头服务
- kurento - Kurento Media Server:服务在启动后立即停止
- php - VSCode 没有按照 php.ini 显示 DOCUMENT_ROOT
- javascript - 当我在我的购物篮中删除多个产品时,只有第一个产品数量返回我的数据库,其他产品数量没有返回
- django-rest-framework - Django Restframework dj-rest-auth 密码重置确认提交问题