javascript anchor 避免点击时滚动到顶部

标签 javascript

我在 javascript 中创建了一个函数,将其添加到 anchor

JavaScript:

somefunction = function () {alert('foo')}

html:

<a href="#" onclick="return somefunction()">anchor</a>

每次我点击 anchor 时,函数都会执行,但屏幕会滚动到顶部

我知道我能做到

<a href="javascript:void(0)" onclick="return somefunction()">anchor</a>

但我已经看到第一个选项的实现没有这种向上滚动的麻烦

有什么技巧吗?

谢谢

最佳答案

onclick 导致页面重新提交,因此滚动到顶部。

您需要 onclick 事件返回 false 以避免回发。

这可以通过更改函数以返回 false 来完成:

somefunction = function () {alert('foo'); return false;}

或者更改链接和 onClick 事件来执行此操作:

<a href="javascript:void(0)" onclick="somefunction(); return false;">anchor</a>

关于javascript anchor 避免点击时滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2084750/

相关文章:

javascript - reCaptcha 在本地主机上工作吗?

javascript - Cordova/Phonegapp - 如何使用本地存储插件

javascript - Bootstrap 3 导航栏元素未正确对齐

javascript - setTimeout和非定时器(例如UI)事件回调的顺序是否按照时间保证?

javascript - react : generating input field data with a button component

javascript - mapStateToProps 返回未定义

javascript - 为什么无法将信息从 html li 标签传输到 jQuery 函数?

javascript html 标签显示不正确的值

javascript - 在 for-of 循​​环中等待与在 for-of 之前获取可迭代对象

javascript - mustache 和嵌套模板