`
scorpiomiracle
  • 浏览: 263426 次
  • 性别: 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小时

相关推荐

    javascript;与javascriptvoid(0)使用介绍

    在前端开发领域,`javascript:` 和 `javascript:void(0)` 这两种语法经常被用到,尤其是在处理页面内的超链接时。本文将详细解析这两种用法的特点、应用场景以及它们之间的区别,并通过具体的示例来帮助读者更好地...

    给网页文字加上即时提示.pdf

    将要添加提示信息的单词设置为超链接,然后利用`&lt;A&gt;`元素的`onMouseMove`和`onMouseOut`事件来改变窗口的`STATUS`属性。例如: ```html &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"&gt; &lt;HTML&gt; &lt;HEAD&gt; ...

    html基本框架和无序列表有序列表练习、a标签和href练习实验报告.docx

    &lt;a href="javascript:void();"&gt;点我丫 3&lt;/a&gt; ``` 这些链接不会跳转到新的页面,而是触发JavaScript代码。 5. **图片插入与样式调整** 使用`&lt;img&gt;`标签插入图片,`src`属性指定图片源,`width`属性设置宽度。...

    js中 javascript-void(0) 用法详解.docx

    例如,在 AJAX 调用之前或之后执行某些逻辑处理时,可以通过设置 `&lt;a&gt;` 标签的 `href` 属性为 `javascript:void(0)` 来避免不必要的页面跳转或刷新。 #### 六、总结 - **`void(0)`** 主要用于执行某些处理,同时...

    js中javascript-void(0) 真正含义.docx

    &lt;a href="javascript:void(0)" onclick="openWin(3, this)"&gt;株洲&lt;/a&gt; &lt;script&gt; function openWin(tag, obj) { obj.target = "_blank"; obj.href = "Web/Substation/Substation.aspx?stationno=" + tag; obj....

    html+css传智播客老师整理7天的笔记

    * 脚本格式:&lt;a href="javascript:void(0)"&gt;&lt;/a&gt; * 锚链接:&lt;a name=“标记名”&gt;&lt;/a&gt; 和 &lt;a href="#标记名"&gt;&lt;/a&gt; * Target:_blank _top _self _parent 八、音乐和视频 * &lt;embed src=””&gt;&lt;/embed&gt;:可以加入多媒体...

    a href=javascript void(0) 是什么意思呢?加不加上有什么区别?.docx

    通过以上介绍可以看出,`javascript:void(0)` 在HTML和JavaScript编程中是一种非常实用的技术手段,尤其是在需要通过`a`标签触发JavaScript事件而无需进行页面跳转的情况下。正确理解和使用这一技术可以帮助开发者更...

    比较详细的关于javascript中void(0)的具体含义解释.docx

    &lt;a href="javascript:void(document.form.submit())"&gt;提交表单&lt;/a&gt; ``` 这里,当用户点击链接时,`document.form.submit()`会被执行,从而提交表单。需要注意的是,这种方式可能会导致一些安全问题,因为用户可能会...

    设为主页跳转代码大全

    "&gt;`或者`&lt;a href="javascript:void(0);"&gt;`的形式,简洁明了,易于理解。 2. **对浏览器兼容性有较高要求的情况下**:推荐使用`&lt;a href="#" onclick="javascript:goUrl('http://www.sina.com');"&gt;`或`&lt;a href="###" ...

    html中a标签调用js函数.docx

    在HTML中,`&lt;a&gt;`标签通常用于创建超链接,但也可以用来触发JavaScript函数。本文将详细探讨如何在`&lt;a&gt;`标签中调用JavaScript函数以及相关注意事项。 1. **JavaScript: 协议调用** 这种方法常见于老代码中,如`&lt;a ...

    详解A标签中href=””的几种用法

    而且,大多数人认为a标签最重要的作用是实现超链接,今天我刚好碰到a标签的一种写法&lt;a&gt;&lt;/a&gt;,所以就来整理下a标签中href的几种用法。 一、js的几种调用方法(参考总结的)  1、a href="[removed]js_method();"  这...

    javascript-void(0)的含义.docx

    &lt;a href="javascript:void(0)"&gt;单击此处什么都不会发生&lt;/a&gt; ``` 在这个示例中,点击链接时,`javascript:void(0)`将执行一个没有任何实际效果的操作,并返回`undefined`。因此,浏览器不会导航到新的URL地址,而是...

    详解a标签添加onclick事件的几种方式

    &lt;a href="javascript:void(0)" onclick="js_method();" rel="external nofollow"&gt;点击我&lt;/a&gt; ``` 这是最常用的实现方式,`void(0)`返回`undefined`,阻止页面跳转。同时,它不会像方法1那样将JavaScript方法暴露在...

    y空格键添加a标签.rar_y空格键添加a标签

    3. **创建`&lt;a&gt;`标签**:使用`document.createElement('a')`创建一个新的`&lt;a&gt;`元素,并设置其`href`属性,可以是一个URL或者JavaScript的`javascript:void(0)`来防止页面跳转。 4. **包裹文本**:将选中文本替换为`...

    A样式小总结 经常要用到的A的样式

    在网页设计和开发中,`&lt;a&gt;`标签(锚元素)是不可或缺的一部分,它用于创建超链接,将用户从一个页面导航到另一个页面。这里,我们来深入探讨一下`&lt;a&gt;`标签及其常用样式,以便在日常工作中快速引用。 1. **基本结构*...

    [removed].href IE下跳转失效的解决方法

    首先,问题的根源在于使用了`javascript:void(0)`作为`&lt;a&gt;`标签的`href`属性值。这样做的目的是防止页面刷新或跳转,同时执行JavaScript函数。然而,在IE6中,这可能导致点击事件的行为被阻止,导致预期的页面跳转...

    a标签href属性和onclick事件的比较介绍

    在Web开发中,HTML的&lt;a&gt;标签(锚点标签)是最常用的元素之一,它可以创建一个超链接,用户可以点击该链接跳转到指定的URL或者执行JavaScript代码。这个标签有两个主要属性:href和onclick。href属性用于指定链接的...

    javascript void(0)的妙用

    在JavaScript中,`void`操作符是一个经常被忽视但其实非常实用的工具,尤其是在处理页面交互和DOM元素,特别是超链接(`&lt;a&gt;`标签)时。`void`的主要作用是计算一个表达式,但不返回任何值。这使得它在特定场景下具有...

    js-new-window-opens.zip_javascript

    `js-new-window-opens.zip_javascript`这个压缩包文件显然关注的是如何利用JavaScript控制`&lt;a&gt;`标签来实现链接在新窗口中打开,并且涉及到如何通过正则表达式进行特定的链接地址判断,以防止某些链接(比如`...

    html超级链接a的click事件之后跳转href所指向的地址

    在使用javascript:void(0)时,需要注意的是,它会阻止&lt;a&gt;标签的默认跳转行为,但是不会阻止页面上的其他事件,如表单提交等。同时,使用javascript:void(0)可能会影响无障碍性(Accessibility),因为屏幕阅读器可能...

Global site tag (gtag.js) - Google Analytics