【发布时间】:2011-01-18 13:09:10
【问题描述】:
我在一个网站中间点击了类似<a href=“#“ onclick=“…的代码
该功能运行良好,但 a href="#" 让我点击链接时页面总是跳转到顶部。有什么办法解决吗?
谢谢
【问题讨论】:
标签: javascript
我在一个网站中间点击了类似<a href=“#“ onclick=“…的代码
该功能运行良好,但 a href="#" 让我点击链接时页面总是跳转到顶部。有什么办法解决吗?
谢谢
【问题讨论】:
标签: javascript
只需在onclick 末尾添加; return false;,例如:
<a href="#" onclick="alert('hello'); return false;">
编辑:Hemlock 的答案是一个不错的选择,但另一个是两者的结合:
<a href="javascript:void(0)" onclick="alert('hello')">
这样做的好处是您明确表示 <a> 不应该对 href 做任何事情,并且 onclick 事件处理程序是一个单独的属性。如果您稍后决定使用 JavaScript 附加 onclick 处理程序而不是内联它(推荐),只需删除 onclick 属性即可。
【讨论】:
href="javascript:" 也适合我。和javascript:void(0)不一样吗?
替代方法
<a href="javascript: alert('hello'); void(0);"></a>
将javascript放入href并确保代码以对void的调用结束
【讨论】:
添加
return false;
在 onclick 语句的末尾
那是
<a href="#" onclick="alert('test'); return false;"> Click Here </a>
【讨论】:
如果您想要一个执行某些 javascript onclick 的元素,则不应使用 a 标记。 a 标签用于从一个页面导航到另一个页面。您应该使用span,然后您不必提供href 属性。问题在于您为案例选择了错误的 HTML 元素。
<span onclick=""></span>
【讨论】: