(一)
在写页面的时候点击链接有两种情况一种是跳转到另一个页面一种是只有点击链接效果而没有产生跳转到另一个页面的效果。当我们给a标签设置属性href"#"的时候点击链接后会回到页面顶部没有很好的用户体验
解决的办法有如下几种
点击链接后不出现任何效果
test test test //使用2个到4个#见的大多是"####"也有使用"#all"等
点击链接后响应用户自定义的点击事件
test 什么问题都解决了,包括浏览器不兼容问题 a> //或者直接使用href"" test
一些小建议
1.建议少写Javascriptvoid(0);
2.链接(href)直接使用Javascriptvoid(0)在IE中可能会引起一些问题比如造成gif动画停止播放等所以最安全的办法还是使用“####”。为防止点击链接后跳转到页首onclick事件return false即可。
3.若只是显示鼠标移过变成手形可以使用样式Click Me!
注释
1.在这里的void是Javascript的操作符表示只执行表达式但没有返回值而void的操作符用法格式是
Javascriptvoid (expression)
Javascriptvoid expression
在这里void是javascipt自身的操作符它表示的是只执行表达式但没有返回值expression 是一个要计算的 Javascript 标准的表达式。
另外页面会自动调回顶端是因为"#"默认的瞄点位置是top所以会出现这种情况。
表达式会被计算但是不会在当前文档处装入任何内容void(0)计算为0但在Javascript上没有任何效果也就是说 的效果同的效果是一样的。也就是表达式会被计算但在Javascript中没有任何效果。
在这里举个例子
点击提交
区别
1.a href#与 a hrefJavascript:void(0) 的区别
1)#包含了一个位置信息默认的锚是#top 也就是网页的上端
2)Javascript:void(0) 只表示一个链接调用脚本的时候用这个比较合适又或者给标签添加一个点击事件比如 ,
(二)
1.可采用的链接办法如下
1) window.open("url")
2)自定义函数
function openWin(tag,obj){
obj.target"_blank";
obj.href "Web/Substation/Substation.aspx?stationno"tag;
obj.click();
}
Javascript:void(0);在浏览器上有兼容性问题个人认为Javascript:;比较适用
(三)总结
1.针对"#",出现调到顶部的情况
1
2
3
4
5(好像在FF中不能显示)
2.要执行某些处理但是不整体刷新页面的情况下可以使用void(0),那什么情况下用void(0)比较多呢无刷新当然是Ajax了看一下Ajax的web页面的话一般都会看到有很多的void(0)所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新。