【发布时间】:2022-01-08 17:46:17
【问题描述】:
我在尝试获取任何 html 元素的 data 属性时遇到了一些问题。
问题是我在 30% 的案例中获得了数据属性。其余的返回未定义。
这是我想要触发的:
document.addEventListener("DOMContentLoaded",() => {
document.body.addEventListener("click",(e) => {
console.log("clicked");
console.log(e.target.dataset.link + " is the link clicked") // this is returning undefined most of the times.
if (e.target.dataset.link !== undefined) {
console.log("got the link")
navigateTo(e.target.dataset.link);
}
})
// router();
})
<div class="cell" data-link="/dashboard/posts" tabindex="1">
<i class="material-icons">assignment</i>
<span>Posts</span>
</div>
这怎么可能?
我该如何预防呢?
我无法删除正文的 onclick 事件侦听器。
【问题讨论】:
-
请不要使用 div 重新创建链接功能。只需使用
a元素 -
@evolutionbox 我正在构建一个 SPA,所以我必须这样做。我没有使用任何反应或其他东西。刚刚创建了我自己的。
-
我认为你不必这样做。
标签: javascript event-listener custom-data-attribute