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() 因为您正在使用仅防止默认行为,例如防止复选框被选中。