如何防止点击“全选”复选框影响标题和列排序
How to prevent click on "Select all" checkbox to affect header and column sorting
我使用jQuery数据表插件。我创建了一个复选框,它自动获得了一个aria-label
标签。
我认为这会导致不希望的行为,我想定义一个没有这个aria-label
属性的复选框。
<th id="batch-select-all" class="sorting" tabindex="0" aria-controls="board" rowspan="1" colspan="1" style="width: 21px;" aria-label=": activate to sort column ascending">
<input type="checkbox">
</th>
我通过使用$("#batch-select-all").removeAttr('aria-label');
删除了aria-label
值,但事件继续被触发。
如何使此事件侦听器停止侦听复选框上的单击事件?
问题不在aria-label
属性。你的代码似乎是从源代码检查器复制的,这些属性是由jQuery数据表动态生成的。
解决方案# 1
您可以禁用与复选框列排序,添加data-orderable="false"
属性到th
元素,如下所示:
<th id="batch-select-all" data-orderable="false">
<input type="checkbox">
</th>
也可以使用columns.orderable
选项来禁用特定列的排序。
查看jsFiddle的代码和演示。
解决方案# 2
或者,在复选框的单击事件处理程序中,您需要调用stopPropagation()
以避免单击事件传播到表头。
$('#example thead th').on('click', '#select-all', function(e){
e.stopPropagation();
});
相关文章:
- CSS-如何定位内容数据标题
- 在PHP中使用javascript更改页面标题'if'
- Brightcove获取/显示HTML中的当前视频标题和描述
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- React组件-设置页面标题
- jQuery动态更改标题
- HighCharts长标题文本在某些元素上重叠
- jQuery工具验证器自定义效果-添加&消除影响
- 将行添加到具有固定标题的HTML表中
- CKEditor v4:自制插件中对话框的动态标题
- 如何在不影响其他元素的情况下扩展DIV
- 如何在自动完成时设置属性标题
- 单元格的工具提示或标题不显示超过2000个字符
- 如何从相应的控制器动态更新标题和描述
- 将超链接添加到“;标题“;标记文本
- 为什么我会出现此错误"未捕获引用错误:未定义标题;
- 如何防止点击“全选”复选框影响标题和列排序
- 我创建了一个母版页,其中有标题.在标题部分有一些链接.我想在不影响母版页的情况下突出显示这些链接
- 将鼠标悬停在表中以影响标题