使行可单击,但复选框除外

问题描述 投票:0回答:1

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

这是我编写的代码

<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

问题是,无论何时单击复选框,我都需要它不重定向页面。基本上,如果在其他任何地方都可以。

任何人都知道如何修改才能实现此功能?

javascript jquery datatable onclick
1个回答
1
投票

因此,请检查单击的内容,是否单击了标签/复选框,然后将其忽略。

$("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>
© www.soinside.com 2019 - 2024. All rights reserved.