javascript - 使行可点击(复选框除外)

标签 javascript jquery datatable onclick

我已经编写了代码,这样如果单击表行,它将充当链接并将您带到新页面,但是我也希望拥有它,以便他们可以选择要处理的行。问题是,当他们单击复选框将其选中时,它会检测到单击了“行”并激活了链接。

这是我写的代码

<script>
$(document).ready(function() {$('table[name=$tableName]').DataTable();
            $('table[name=$tableName] tbody').on( 'click', 'tr', function () {
                $(location).attr('href', 'http://stackoverflow.com/');
            })

        });
</script>

我在第一列中有复选框

enter image description here

问题是只要单击该复选框,我就需要它不重定向页面。基本上,如果其他地方是,那么它就会。

有人知道我如何修改才能实现此功能吗?

最佳答案

因此,请检查单击的内容,如果是标签/复选框,则忽略它。

$("table tbody").on("click", "tr", function (e) {
  if ($(e.target).is("label,input")) {
    return
  } else {
    console.log("clicked")
  }
})
input[type="checkbox"] {
  display: none
}

input[type="checkbox"]:checked + label {
  background-color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td><input type="checkbox" id="cb1"><label for="cb1">CB</label></td>
    <td>HMMMM 1</td>
  </tr>
  <tr>
    <td><input type="checkbox" id="cb2"><label for="cb2">CB</label></td>
    <td>HMMMM 2</td>
  </tr>
<table>

关于javascript - 使行可点击(复选框除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58937314/

相关文章:

javascript - AWS SQS 1队列2订阅者

jquery - jQuery 组件中的回调功能

jquery - 数据表中的@Media打印类

javascript - 将函数传递给普通对象中的 .on()

javascript - 数据未加载到数据表中

php - 数据表不适用于 ajax 调用

javascript - 链接多个 Array.prototype.*function* 的性能问题是什么?

javascript - HTML多个事件触发同一个功能

javascript - jquery 自动点击底层元素

javascript - 如何在 Bootstrap 表中输入文件旁边的列中放置按钮