href=“#”在页面 url 末尾附加 #
假设我有以下链接:
<a href="#" onclick="alert('You clicked a link.');">Click Me!</a>
单击此链接时将发出一条警报消息,并在页面 URL 末尾附加井号。
这看起来不太漂亮,除了在 url 本身中使用 javascript 之外,还有什么方法可以避免它:
<a href="javascript:alert('You clicked a link.');">Click Me!</a>
Let's say I have the following link:
<a href="#" onclick="alert('You clicked a link.');">Click Me!</a>
When clicked this link will alert a message as well as appending a pound sign on the end of the page url.
This doesn't look very pretty is there any way to avoid it besides using javascript in the url itself:
<a href="javascript:alert('You clicked a link.');">Click Me!</a>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须防止发生默认响应。
老式的方法是从中
返回 false
:或者,更好:
现在最好的方法是调用
event
属性的正确方法:最好替换对于不使用 JavaScript 的人来说,
#
带有某个正确页面的 URI。在某些司法管辖区,无障碍实际上是一项法律要求。编辑针对 IE 进行了修复:
You have to prevent the default response from occurring.
The old-fashioned approach is to
return false
from it:Or, better:
The best approach nowadays is to call the proper method of the
event
property:It's also best to replace that
#
with an URI to some proper page, for people not using JavaScript. In some jurisdictions, accessibility is in fact a legal requirement.Edit Fixed for bleedin' IE:
诀窍是在事件处理程序上
return false
。The trick is
return false
on the event handler.