DataTables 从选择行中排除超链接
DataTables exclude hyperlinks from selecting rows
我正在使用 DataTables Select 扩展,因此我可以 select 多行。在 this jsfiddle example 中,它可以工作,除了在单击超链接时也会 selected 行之外。我希望从 selecting 行中排除超链接。我该怎么做?
这是我的数据表Select初始化:
$('#example').DataTable({
select: {
style: 'multi',
selector: 'tr:not(a)'
}
});
我觉得是这样的:
$('a.do-nothing').on('click', function(e){
e.stopPropagation();
});
会成功的 ;)
PS.: 我在 jsfiddle 中进行了测试,因此您可以使用另一个标识符来 a.do-项目中的任何内容。
通过stopImmediatePropagation
() ;
简单地防止其他监听器被执行
$('a.do-nothing').on('click', function(e){
e.stopImmediatePropagation();
});
已更新 fiddle -> https://jsfiddle.net/9hhaofky/2/
preventDefault()
因为您正在使用仅防止默认行为,例如防止复选框被选中。
我正在使用 DataTables Select 扩展,因此我可以 select 多行。在 this jsfiddle example 中,它可以工作,除了在单击超链接时也会 selected 行之外。我希望从 selecting 行中排除超链接。我该怎么做?
这是我的数据表Select初始化:
$('#example').DataTable({
select: {
style: 'multi',
selector: 'tr:not(a)'
}
});
我觉得是这样的:
$('a.do-nothing').on('click', function(e){
e.stopPropagation();
});
会成功的 ;)
PS.: 我在 jsfiddle 中进行了测试,因此您可以使用另一个标识符来 a.do-项目中的任何内容。
通过stopImmediatePropagation
() ;
$('a.do-nothing').on('click', function(e){
e.stopImmediatePropagation();
});
已更新 fiddle -> https://jsfiddle.net/9hhaofky/2/
preventDefault()
因为您正在使用仅防止默认行为,例如防止复选框被选中。