如何监听特定的点击事件但抑制其他的?
P粉199248808
P粉199248808 2024-04-04 16:55:27
0
1
421

我的 Web 应用程序包含一个 HTML 表格,其中每一行都链接到一个特定的 URL:

<table>
  <tr data-url="https://www.google.com">
    <td>Google</td>
  </tr>
  <tr data-url="https://www.yahoo.com">
    <td>Yahoo</td>
  </tr>
</table>

这是使其工作的 Javascript:

const rows = document.querySelectorAll('table tr[data-url]');

rows.forEach(row => {
  row.addEventListener('click', function() {
    handleClick(row);
  });
});

function handleClick(row) {
  const url = row.dataset.url;
  window.document.location = url;
}

这段代码效果很好。

现在我的客户希望我向这些表格单元格添加复选框。 (我不会详细说明原因。)

如何在选中复选框时抑制重定向?

感谢您的帮助。

P粉199248808
P粉199248808

全部回复(1)
P粉980815259

您可以检查事件的目标是否不是复选框。

rows.forEach(row => {
  row.addEventListener('click', function(e) {
    if (!e.target.matches('input[type=checkbox]')) handleClick(row);
  });
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板