锁定老帖子 主题:javascript:void(0)
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-29
今天看到《AJAX开发简略》中所有的<A href>都用到了javascript:void(0) 今天看了一下原来这个表达式的作用就是让当前这个超链接成为一个死链接,就是什么都不作。 以下摘自: http://blog.csdn.net/mouyong/archive/2007/01/24/1491761.aspx 别人些的JavaScript脚本可以看到这样的代码: JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 void 操作符用法格式如下: expression 是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。 你可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。 下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。 <A HREF="javascript:void(0)">单击此处什么也不会发生</A>
下面的代码创建了一个超级链接,用户单击时会提交表单。 <A HREF="javascript:void(document.form.submit())">单击此处提交表单</A>
以下转自: http://www.cnblogs.com/xiang/archive/2006/09/05/495828.html #包含了一个位置信息默认的锚点是#top 也就是网页的上端,而javascript:void(0) 仅仅表示一个死链接.这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首,而javascript:void(0) 则不是如此所以调用脚本的时候最好用void(0),或者<input onclick><div onclick>等. 以下摘自: http://bbs.blueidea.com/thread-2694666-1-1.html void 运算符 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-29
没吗用,就是javascript:伪协议会默认把返回值写到文本当中,就和document.write一样,所以必须在伪协议最后的js加上void(0)避免返回值,当然一般alert也是没有返回值的,但是confirm prompt当然就有了。
|
|
返回顶楼 | |
发表时间:2007-11-29
在超链接上用javascript:void(0),会停止页面上动画播放。
原来看到过怎么解决,但忘了,哪位朋友知道回一下。:)
现在偶一般用href="####"
|
|
返回顶楼 | |
发表时间:2007-11-29
onclick="return false" |
|
返回顶楼 | |
发表时间:2007-11-29
要这么用,感觉和DOM中returnValue和preventDefault差不多. 都是cancel掉default action.
比如: document.getElementById('某个连接ID').onclick=function(e){var evt=e||event; evt.preventDefault ? evt.preventDefault() : evt.returnValue=false;} 唯一我个人感觉奇怪的就是onmouseover属性+window.status,他必须是要return true的时候,才可以实现想要的结果,就是把mouse移到某个link上,才会看到status,虽然在FF中,status和defaultStatus无效,但是在IE中,这样算不算是BUG?? |
|
返回顶楼 | |
发表时间:2007-12-06
链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还是使用“#”。为防止点击链接后跳转到页首,onclick事件return false即可。
|
|
返回顶楼 | |
浏览 20485 次