使href中的每个带有哈希(#)的锚标记取消点击

有没有办法在javascript中实现这一点。下面是锚标签的例子

<a href="#">Example</a>

回答

使用事件委托,您可以将事件侦听器附加到正文,并preventDefault<a>单击具有该 href 的任何事件侦听器时。

document.body.addEventListener('click', (e) => {
  const a = e.target.closest('a');
  if (a.href === '#') {
    e.preventDefault();
  }
});
<a href="#">Example</a>
<a href="#">Example</a>

这将阻止#URL 中的 。如果你想让它真正无法点击,你可以使用pointer-events: none.

a[href="#"] {
  pointer-events: none;
}


以上是使href中的每个带有哈希(#)的锚标记取消点击的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>