最近看了好几个关于<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,所以会出现这种情况。
分享到:
相关推荐
在前端开发领域,`javascript:` 和 `javascript:void(0)` 这两种语法经常被用到,尤其是在处理页面内的超链接时。本文将详细解析这两种用法的特点、应用场景以及它们之间的区别,并通过具体的示例来帮助读者更好地...
将要添加提示信息的单词设置为超链接,然后利用`<A>`元素的`onMouseMove`和`onMouseOut`事件来改变窗口的`STATUS`属性。例如: ```html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> ...
<a href="javascript:void();">点我丫 3</a> ``` 这些链接不会跳转到新的页面,而是触发JavaScript代码。 5. **图片插入与样式调整** 使用`<img>`标签插入图片,`src`属性指定图片源,`width`属性设置宽度。...
例如,在 AJAX 调用之前或之后执行某些逻辑处理时,可以通过设置 `<a>` 标签的 `href` 属性为 `javascript:void(0)` 来避免不必要的页面跳转或刷新。 #### 六、总结 - **`void(0)`** 主要用于执行某些处理,同时...
<a href="javascript:void(0)" onclick="openWin(3, this)">株洲</a> <script> function openWin(tag, obj) { obj.target = "_blank"; obj.href = "Web/Substation/Substation.aspx?stationno=" + tag; obj....
* 脚本格式:<a href="javascript:void(0)"></a> * 锚链接:<a name=“标记名”></a> 和 <a href="#标记名"></a> * Target:_blank _top _self _parent 八、音乐和视频 * <embed src=””></embed>:可以加入多媒体...
通过以上介绍可以看出,`javascript:void(0)` 在HTML和JavaScript编程中是一种非常实用的技术手段,尤其是在需要通过`a`标签触发JavaScript事件而无需进行页面跳转的情况下。正确理解和使用这一技术可以帮助开发者更...
<a href="javascript:void(document.form.submit())">提交表单</a> ``` 这里,当用户点击链接时,`document.form.submit()`会被执行,从而提交表单。需要注意的是,这种方式可能会导致一些安全问题,因为用户可能会...
">`或者`<a href="javascript:void(0);">`的形式,简洁明了,易于理解。 2. **对浏览器兼容性有较高要求的情况下**:推荐使用`<a href="#" onclick="javascript:goUrl('http://www.sina.com');">`或`<a href="###" ...
在HTML中,`<a>`标签通常用于创建超链接,但也可以用来触发JavaScript函数。本文将详细探讨如何在`<a>`标签中调用JavaScript函数以及相关注意事项。 1. **JavaScript: 协议调用** 这种方法常见于老代码中,如`<a ...
而且,大多数人认为a标签最重要的作用是实现超链接,今天我刚好碰到a标签的一种写法<a></a>,所以就来整理下a标签中href的几种用法。 一、js的几种调用方法(参考总结的) 1、a href="[removed]js_method();" 这...
<a href="javascript:void(0)">单击此处什么都不会发生</a> ``` 在这个示例中,点击链接时,`javascript:void(0)`将执行一个没有任何实际效果的操作,并返回`undefined`。因此,浏览器不会导航到新的URL地址,而是...
<a href="javascript:void(0)" onclick="js_method();" rel="external nofollow">点击我</a> ``` 这是最常用的实现方式,`void(0)`返回`undefined`,阻止页面跳转。同时,它不会像方法1那样将JavaScript方法暴露在...
3. **创建`<a>`标签**:使用`document.createElement('a')`创建一个新的`<a>`元素,并设置其`href`属性,可以是一个URL或者JavaScript的`javascript:void(0)`来防止页面跳转。 4. **包裹文本**:将选中文本替换为`...
在网页设计和开发中,`<a>`标签(锚元素)是不可或缺的一部分,它用于创建超链接,将用户从一个页面导航到另一个页面。这里,我们来深入探讨一下`<a>`标签及其常用样式,以便在日常工作中快速引用。 1. **基本结构*...
首先,问题的根源在于使用了`javascript:void(0)`作为`<a>`标签的`href`属性值。这样做的目的是防止页面刷新或跳转,同时执行JavaScript函数。然而,在IE6中,这可能导致点击事件的行为被阻止,导致预期的页面跳转...
在Web开发中,HTML的<a>标签(锚点标签)是最常用的元素之一,它可以创建一个超链接,用户可以点击该链接跳转到指定的URL或者执行JavaScript代码。这个标签有两个主要属性:href和onclick。href属性用于指定链接的...
在JavaScript中,`void`操作符是一个经常被忽视但其实非常实用的工具,尤其是在处理页面交互和DOM元素,特别是超链接(`<a>`标签)时。`void`的主要作用是计算一个表达式,但不返回任何值。这使得它在特定场景下具有...
`js-new-window-opens.zip_javascript`这个压缩包文件显然关注的是如何利用JavaScript控制`<a>`标签来实现链接在新窗口中打开,并且涉及到如何通过正则表达式进行特定的链接地址判断,以防止某些链接(比如`...
在使用javascript:void(0)时,需要注意的是,它会阻止<a>标签的默认跳转行为,但是不会阻止页面上的其他事件,如表单提交等。同时,使用javascript:void(0)可能会影响无障碍性(Accessibility),因为屏幕阅读器可能...