Javascript 在锚元素上实现onclick,同时省略href

Javascript 在锚元素上实现onclick,同时省略href,javascript,html,Javascript,Html,我见过在a元素上以不同的方式实现onclick,但我不知道在事件中每个元素如何不同? 当我点击a时,我想让onclick事件在没有href的情况下发生 在我的例子中,哪一个适合使用?在今天的JS开发中,这些例子都不是真正合适的,因为内联JavaScript非常不受欢迎——HTML/JS分离是最好的选择 因此,在从HTML页面调用的单独JS文件中(将放在之前,以确保在执行脚本之前加载DOM),抓取锚,并为调用相应函数的每个锚添加事件侦听器 let anchors = document.que

我见过在
a
元素上以不同的方式实现
onclick
,但我不知道在事件中每个元素如何不同?

当我点击
a
时,我想让
onclick事件
在没有
href
的情况下发生





在我的例子中,哪一个适合使用?

在今天的JS开发中,这些例子都不是真正合适的,因为内联JavaScript非常不受欢迎——HTML/JS分离是最好的选择

因此,在从HTML页面调用的单独JS文件中(将
放在
之前,以确保在执行脚本之前加载DOM),抓取锚,并为调用相应函数的每个锚添加事件侦听器

let anchors = document.querySelectorAll('a');
[...anchors].forEach(anchor => anchor.addEventListener('click', handleAnchor, false));
然后在函数中,确保传入事件,并调用
preventDefault()
停止禁用href

function handleAnchor(e) {
  e.preventDefault();
  ...
}
MDN资源


可能重复的可能重复的感谢,@GetOffMyLawn.document.queryselectoral返回一个节点列表,但不是一个数组,因此您无法在其上调用数组方法。显然,我们都是对的:“仅适用于Blink浏览器和Firefox 50+;不支持Safari或IE/Edge”什么是
…按钮
?它不应该是
…锚定