javascript - 表事件委托中所有按钮的JavaScript事件侦听器?
问题描述
我一直在使用 oneclick 方法并且正在重写我的网站并希望切换到现代的服务(事件监听器)
我了解如何添加事件侦听器。
Const button = document.getElementById('button');
button.addEventListener('click');
我可以遍历所有按钮,但我将如何正确地进行事件委托?
基本上我有一张桌子。我想定位其中具有特定类“编辑用户”的每个按钮,并监听任何被点击的按钮。
谢谢,但对事件委托和定位特定元素以及为整个表设置一个事件侦听器的最佳方式感到困惑。为每个按钮添加 50 个不同的侦听器似乎很糟糕。
解决方案
事件委托以这种方式工作:(
使用element.matches更容易)
<table id="my-table">
...
<tr>
<td>
<button class="edit-user">aaa</button>
...
<tr>
<td>
<button class="edit-user">bbb</button>
...
<tr>
<td>
<button class="other-class">ccc</button>
...
const myTable = document.querySelector('#my-table')
myTable.onclick = e =>
{
if (!e.target.matches('button.edit-user')) return // reject other buttons
console.log( e.target.textContent) // show "aaa" or "bbb"
// ...
}
推荐阅读
- azure-devops - WindowsMachineFileCopy 不复制 *EXTRA 文件
- django - 我是 django 的新手,我正在使用 gitpod 工作区并尝试使用 django-allauth 设置身份验证系统
- sql-server - c# 使用 smo 导入数据库并检查 sql 连接的单元测试
- tensorflow - 高损失的keras模型
- powershell - Get-ADComputer 找不到主机名,但我可以手动找到它
- python - 使用托管策略在 Python Boto3 中创建 EC2 实例
- r - R中不等式系统的解域
- bash - AWS 循环命令将数百个卷从 GP2 转换为 GP3
- python - Plotly - 将多个子图与下拉菜单按钮相结合
- caching - AWS AppSync 解析程序缓存