单击锚点会显示警报,但它会尝试将我带到某个页面。我认为preventDefault会阻止这种情况。
<body>
<a id="someLink" href="somepage.html">Click Me</a>
<script>
var link = document.getElementById("someLink");
function linkClick () {
alert("this goes nowhere");
e.preventDefault();
}
link.addEventListener("click", linkClick);
</script>
</body>
答案 0 :(得分:0)
始终检查控制台。
您会看到一个错误,告诉您未定义。
这是有道理的;在您的代码中,永远不会定义e
。
你可能已经从你见过的其他代码中引用了这个。你没有做的是为事件对象提供一个容器,作为第一个参数传递给你的事件回调。
function linkClick (e) { //<-- now we can talk to @e
alert("this goes nowhere");
e.preventDefault();
}