超链接href="#"点击后会回到页首的解决办法


做网页的时候会经常使用到点击文字出现某种效果,这样就需要设置为超链接的方式,如果你写href="#"那么点击后会回到页首,这样影响操作。为了让点击不回到页首,有以下两种方式可以解决:

<a href="javascript:void(0)" onclick="window.open('yoururl')">人员管理</a>
<a href="javascript:return" onclick="window.open('yoururl')">人员管理</a>
javascript:void(0); 这个的意思是超链接无效,但鼠标移动上去还是超链接的形式。
建议使用void(0)方式,因为return方式,有时会影响click事件的传播,尤其是return false的时候。

例如:<a href="javascript:void(0)" onclick="layer1.style.visibility='visible'">显示插图</a>

如果你需要详细了解,请继续往下看:

JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

void 操作符用法格式如下:

1. javascript:void (e­xpression)

2. javascript:void e­xpression

e­xpression 是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。void 运算符对表达式求值,并返回 undefined,避免表达式返回值。在希望求表达式的值,但又不希望脚本的剩余部分看见这个结果时,该运算符最有用。

你可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。

当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。

下面的代码创建了一个超级链接,用户单击时会提交表单。

<a href="javascript:void(document.form.submit())">点击链接提交表单</a>

<a href=#>与 <a href=javascript:void(0)> 的区别,# 包含了一个位置信息,默认的锚点是#top 也就是网页的上端,而javascript:void(0) 仅仅表示一个死链接.这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首,而javascript:void(0) 则不是如此所以调用脚本的时候最好用void(0)


[本日志由 随然 于 2009-06-30 10:42 AM 编辑]
上一篇: 4款程序员编程文本编辑器下载
下一篇: ASP实现access随机显示不重复记录解决方案
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 网页 HTML
相关日志:
评论: 1 | 引用: 0 | 查看次数: 14580
天翼[2010-12-21 03:51 PM | | | 222.222.193.81 | del | 取消审核 | 回复回复]
沙发
真是不错~~感谢
回复来自 <a href=随然"/> 随然 回复 [2010-12-30 09:15 PM]
不客气哈~~!
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1 字 | UBB代码 关闭 | [img]标签 关闭