javascript - 按钮的 onclick 记录 i 标签而不是按钮本身
问题描述
我有一个按钮,我想在单击它时捕获它的“id”。
<button id={props.id}
onClick={props.handleClick}
className="btn btn-circle" >
<i class="fas fa-angle-down"></i>
</button >
当我在我的 handleClick 函数中记录事件console.log(event.target.id);
时,如果我单击按钮的中间,它会返回 i 标签的“id”(它只是一个空字符串)。如果我单击按钮的侧面,那么我的 handleClick 函数将按预期工作。
我应该如何解决这个问题?我想我可以将相同的“id”属性添加到 i 标签,但想知道是否有更好的解决方法。
解决方案
您可以改用currentTarget:
console.log(event.currentTarget.id);
这将返回currentTarget
您附加了onClick
函数的那个,而不是target
触发事件的那个。
推荐阅读
- sql - 使用 SQL 检索具有一定数量行的“页面”
- powershell - Powershell Invoke-WebRequest 返回 (401) Unauthorized
- mongodb - Mongodb $nin 不适用于嵌套数组
- python - 导出 Whatsapp 聊天
- laravel - Laravel 拒绝访问 /public 目录
- api - 如何在api上验证批量电子邮件?
- azure-devops - “配置触发器失败,再次编辑并保存管道”,没有明显错误,也没有更多详细信息
- javascript - 使用 async/await 和 http-mocks 测试 express.JS 时出错
- r - 先验设置调整参数范围
- ssis - 使用 SSIS 将 Excel 转换为 CSV