javascript - 单击子元素时捕获 event.target 的正确方法
问题描述
我想在单击锚点时调用 javascript 函数并捕获元素的 href 和 title 属性。如果元素的内容是纯文本,我的代码可以正常工作,但是当我在锚标签内引入新元素(例如标签和图标)时,e.target 现在是标签或图标,因此我无法再获取 href 属性。
我可以编写一些代码来检查元素类型,如果它不是锚找到父元素,但我想知道即使单击子元素,我的函数是否有更好的方法从 event.target 获取锚元素?
function doStuff(e) {
console.log(e.target.getAttribute("href"));
console.log(e.target.getAttribute("title"));
e.preventDefault();
}
<a href="/bob" title="Bob" onClick="doStuff(event)">
<i class='fa fa-user'></i>
<label>Bob</label>
</a>
解决方案
您可以使用event.currentTarget
,它应该为您提供绑定事件的锚元素
推荐阅读
- java - 导入 spring-aspects 后,找不到某些控制器
- python - 理解字典和字典结构
- java - Jackson:嵌套对象映射实现
- mysql - 如何在条件下将 varchar 字符串传递给存储过程?
- d3.js - 多折线图 d3 v4 的工具提示
- android - PhilJay/MPAndroidChart 条形图中的值重叠问题
- java - Retrofit2 GsonConverter 预期为 BEGIN_OBJECT,但在第 1 行第 2 列路径 $ 处为 BEGIN_ARRAY
- python - 为什么熊猫显示“?” 而不是 NaN
- css - Can't get to load css styles in angular unit testing using jasmine karma
- python - Next timestamp prediction