在什么情况下 href="#" 会导致滚动到页面顶部?
Under what conditions does href="#" cause scrolling to the top of the page?
我正在使用 <a href="#" onclick="f();">click here</a>
类型标签来触发我网站上的操作。我发誓他们以前不这样做,但现在当我单击其中一个时,浏览器会滚动到页面顶部。
找到 this 答案后,我现在使用 href="javascript:;"
,效果很好。但我不可能是唯一遇到这个问题的人(除非我是)。我真的很想知道 href="#"
什么时候会这样,什么时候不会。
他们总是这样做。
请注意,您的链接的点击操作可以在 JavaScript 中被覆盖,这就是您之前可能看到过不同行为的原因。
总是,除非您的 javascript 处理程序阻止它。
function f(e) {
e.preventDefault();
}
现在,如果您的点击调用 f(e)
,您将不会滚动到顶部。
我正在使用 <a href="#" onclick="f();">click here</a>
类型标签来触发我网站上的操作。我发誓他们以前不这样做,但现在当我单击其中一个时,浏览器会滚动到页面顶部。
找到 this 答案后,我现在使用 href="javascript:;"
,效果很好。但我不可能是唯一遇到这个问题的人(除非我是)。我真的很想知道 href="#"
什么时候会这样,什么时候不会。
他们总是这样做。
请注意,您的链接的点击操作可以在 JavaScript 中被覆盖,这就是您之前可能看到过不同行为的原因。
总是,除非您的 javascript 处理程序阻止它。
function f(e) {
e.preventDefault();
}
现在,如果您的点击调用 f(e)
,您将不会滚动到顶部。