读书人

点击lt;agt;标签禁止页面自动跳到顶部的

发布时间: 2012-10-30 16:13:35 作者: rapoo

点击<a>标签,禁止页面自动跳到顶部的解决办法
将href="#"改为href="###",这样用户点击链接执行JS脚本后,滚动条就不会自动跳到TOP了。"

?

???? 后来就想为什么这么改了就不跳了?然后把href换成 "#X",发现依然可以实现阻止滚动的效果。所以应该是浏览器会把 "#" 当作是一种页面跳转的口令,接到这个口令就会把页面滚动到原始位置,但是只要把这个改成浏览器没有办法识别的名称,那么它就会把这个口令ignore了。

?

NOTE:后来发现IE6这个神奇的浏览器连"##"都能识别,所以如果你要兼容浏览器,那还是用"###"吧。。。

?

?

2010-10-11 更新

?

在最近开发的网站中,一直使用上述的"#X"方法解决页面跳动的问题。但是这样解决页面虽然不跳了,url却会变得异常的难看,所以一直想找个方法替代它。后来在一次山寨之旅中意外的找到了它——

??????????????????????????? href="javascript:void(0)"

?

?url从此干净了~~

?

?

?

除此方法之外还有提出:

?

定位到 <html> 上,document.getElementsByTagName( "html ")[0].style.overflow= "hidden "
或者 <html ? id= "scroll ">
然后调用地方写document.getElementById( "scroll ").style.overflow= "hidden "

但是依次方法并未成功,也可能是我写的不对,这个留作以后再做验证。

?

?

?

?

?

?

读书人网 >Web前端

热点推荐