`
scorpiomiracle
  • 浏览: 260349 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

超链接<a>标签和javascript:void(0)

阅读更多
最近看了好几个关于<a>标签和javascript:void(0)的帖子,谨记于此,以资查阅。
注:以下代码未经全面测试,但每一种方法可能会出现的情况都基本做了说明。

在做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶端,用户体验不好。

目前有如下几种解决办法:
1)点击链接后不做任何事情
1.<a href="javascript:void(0);" >test</a>
2.<a href="javascript:;" >test</a>
3.<a href="####" >test</a> //使用2个到4个#,见的大多是"####",也有使用"#all"等其他的

2)点击链接后,响应用户自定义的点击事件
1.<a href="javascript:void(0)" onclick="doSomething()">test</a>
2.<a href="#" onclick="doSomething();return false;">什么问题都解决了,包括浏览器不兼容问题</a> //或者直接使用href=""
3.<a href="#" onclick="alert();event.returnValue=false;">test</a>

说明:
1.javascript:void(0)这种伪协议,少写的好,如果你看过一些web标准的书就知道为什么了。(不懂,原话摘的,暂做记录)
2.链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还是使用“####”。为防止点击链接后跳转到页首,onclick事件return false即可。
3.如果仅仅是想鼠标移过,变成手形,可以使用
<span style="cursor:pointer" onclick="foo()">Click Me!</span> 


void是javascript的操作符,意思是:只执行表达式,但没有返回值,
void 操作符用法格式如下:
1. javascript:void (expression) 
2. javascript:void expression 

为了程序风格良好,建议使用第二种带上括号的
我们可以使用void操作符指定超级链接,如javascript:void(document.form.submit())。表达式会被计算但是不会在当前文档处装入任何内容,void(0)计算为0,但在JavaScript上没有任何效果,也就是说 <a href="javascript:void(0)">的效果同<a href="javascript:void(1)">的效果是一样的。
关键是只要知道void是javascipt自身的操作符,它表示的是只执行表达式,但没有返回值!

另外页面会自动调回顶端,是因为"#"默认的瞄点位置是top,所以会出现这种情况。

分享到:
评论
1 楼 zhaotao_king 2013-10-28  
谢谢!IE6的问题纠结了2小时

相关推荐

    超链接(文本超链接、图像超链接)

    -- &lt;a href=""&gt;&lt;/a&gt; --&gt;超链接标签(用于从一个页面链接到另一个页面) &lt;br&gt; 文本超链接 &lt;br&gt; &lt;a href="https://www.baidu.com/"&gt;百度&lt;/a&gt; &lt;div&gt; &lt;!-- &lt;a href=" 不写值 "&gt;百度&lt;/a&gt; --&gt;空链接 &lt;br&gt; &lt;a href=""&gt;&lt;/...

    HTML_CSS学习笔记.docx

    5.2. &lt;a&gt;标签:为网页添加超链接 17 5.3. &lt;a&gt;标签 target属性:在窗口中打开链接 17 5.4. &lt;table&gt;家族:为网页添加表格 18 5.5. &lt;thead&gt;、&lt;tbody&gt;、&lt;tfoot&gt;标签:定义表格的表头、表身、表尾 19 6. HTML5表单标签 20...

    导航按钮自定义可视控件(有源代码)

    &lt;br/&gt;&lt;br/&gt; 属性: &lt;br/&gt;&lt;br/&gt; Text:控件显示的文字内容 &lt;br/&gt; Href:控件显示的文字的超链接地址 &lt;br/&gt; Target:控件显示超链接的目标框架 &lt;br/&gt; StyleBackGround:控件背景样式 &lt;br/&gt; StyleMouseOut:控件鼠标离开后...

    Unified Modeling Language Reference Manual,(2nd Edition)

    &lt;br&gt;中文译名:&lt;br&gt;UML参考手册 (第2版)(软件开发教父Martin Fowler推荐图书)&lt;br&gt;&lt;br&gt;原 书 名: Unified Modeling Language Reference Manual,(2nd Edition) &lt;br&gt;&lt;br&gt;原出版社: Addison Wesley/Pearson &lt;br&gt;&lt;br&gt;作 ...

    网页设计学习实例

    网页设计超链接&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "html:www.w3.org/TR/html40/strict.dtd"&gt; &lt;html&gt; &lt;head bgcolor="#ffffdd"&gt; &lt;title&gt;快乐动物园&lt;/title&gt; &lt;/head&gt; &lt;body&gt; 各位亲爱的小朋友...

    struts2 标签库 帮助文档

    2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:action name=""&gt;&lt;/s:action&gt;-----执行一个view里面的一个action 4. &lt;s:actionerror/&gt;-----如果action的errors有值那么显示出来 5. &lt;s:...

    HTML(超文本标记语言)笔记.txt

    HTML(超文本标记语言)是用于构建网页结构和内容的标记语言。它是Web开发的基础,用于描述网页中各个元素的层次结构、语义以及如何呈现内容。...链接和锚点: 使用&lt;a&gt;标签创建超链接,指向其他页面、文件或资源。可

    [removed]void(0)是什么意思及href=#与href=javascriptvoid(0)的区别

    Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 void 操作符用法格式如下: 1. [removed]void (expression) 2. [removed]void expression ...1:&lt;a&gt;&lt;/a&gt; 2:&lt;a&gt;&lt;/a&gt; 3

    Css——超链接样式

    css中关于超链接的四个属性一般正常顺序为:link,visited,hover,active,即: a:link 链接平常的状态 a:visited 链接被访问过之后 a:hover 鼠标放到链接上的时候 a:active 链接被按下的时候

    DotNetTextBox所见即所得编辑器控件 v3.3.1

    -----------------------------&lt;br&gt;DotNetTextBox 更新历史&lt;br&gt;-----------------------------&lt;br&gt;2007/8/18&lt;br&gt;Version 3.3.1 Free&lt;br&gt;&lt;br&gt;Updates:&lt;br&gt;1) 改进文件重命名的安全BUG,现在重命名功能不可修改文件后缀...

    HTML 语法大全!超级精炼<一点通>

    &lt;a&gt; 标明超链接的起始或目的位置。 &lt;A HREF TARGET&gt; 指定超级链接的分割窗口 &lt;A HREF=#锚的名称&gt; 指定锚名称的超级链接 &lt;A HREF&gt; 指定超级链接 &lt;A NAME=锚的名称&gt; 被连结点的名称 &lt;acronym&gt; 标明缩写词。 &lt;address&gt; ...

    赛维网络生成html文章系统

    &lt;br&gt; 1、文章可以在后台进行自动分页(通过插入[PAGE]标签进行自动分页)&lt;br&gt; 2、文章内部链接功能:通过添加的专题关键字在文章内容中自动识别,生成超链接 3、文章的HTML编辑功能:可视化编辑

    HTML利用超链接打开链接文件的方法介绍

    a和href属性HTML用&lt;a&gt;来表示超链接,英文叫anchor。 &lt;a&gt;可以指向任何一个文件源:一个HTML网页,一个图片,一个影视文件等。用法如下: &lt;ahref&gt;链接的显示文字&lt;/a&gt;点击&lt;a&gt;&lt;/a&gt;当中的内容,即可打开一个链接文件,...

    Html5中文手册(程序员必备手册)

    3、&lt;a&gt; 定义超链接。 4、&lt;abbr&gt; 定义缩写。 5、&lt;address&gt; 定义地址元素。 6、&lt;area&gt; 定义图像映射中的区域。 7、&lt;article&gt; 定义外部的内容。 8、&lt;aside&gt; 定义article 以外的内容。 9、&lt;audio&gt; 定义声音内容。 10、&lt;b...

    Ch01-HTML.txt

    &lt;html&gt; &lt;head&gt;&lt;/head&gt; &lt;body&gt;&lt;/body&gt; &lt;/html&gt; 3、怎么在页面标志一个段落 ... &lt;a href="路径"&gt;&lt;/a&gt; 二、本章内容: 1、HTML,超文本标记语言 超文本:文字,图片,视频,音频。。。 标记:就是用来标志超文本

    VB编程资源大全(源码 多媒体)

    myie.zip &lt;br&gt;myie的源代码,是VC写的(473KB)&lt;br&gt;123,landergame3.zip &lt;br&gt;着陆(lander)游戏 第三版(75KB)&lt;br&gt;124,landergame2.zip &lt;br&gt;着陆(lander)游戏 第二版(68KB)&lt;br&gt;125,previnstance.zip &lt;br&gt;超链接怎么...

    VB编程资源大全(源码 网络)

    1,codenet5.ZIP &lt;br&gt;网络五子棋(84KB)&lt;br&gt;2,mailcheck.ZIP &lt;br&gt;邮件检查程序(8KB)&lt;br&gt;3,sendmail.ZIP &lt;br&gt;简单电子邮件发送程序(4KB)&lt;br&gt;4,whois.ZIP &lt;br&gt;Whois 示例程序(2KB)&lt;br&gt;5,mailsender_plus.ZIP &lt;br&gt;发送...

    a标签调用js的方法总结

    &lt;a&gt; 标签的 href 属性用于指定超链接目标的 URL,href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。 这里的href=”[removed];” rel=”external nofollow” rel=”external ...

    html入门到放弃笔记

    标记:&lt;a&gt;内容&lt;/a&gt; 属性: 1、href : 要链接的HTML页面URL 2、target : 目标,指定新网页的打开形式 取值: 1、_blank : 在新标签页中打开网页 2、_self : 在自身标签页中打开新网页(默认值) Demo 1、创建...

Global site tag (gtag.js) - Google Analytics