1 前言
当网页页面较长或者表单较多时,右侧会出现滚动条,然而经常会出现点击底部的<button>按钮或者<a>超链接,会出现点击后,当前页面会回到顶端。
2 方案
例如样例代码如下:
<a id="link" href="#">linkSample</a>
方案一:改为href="javascript:void(0)",变成
<a id="link" href="javascript:void(0)">linkSample</a>
方案二:删除href属性,变成
<a id="link">linkSample</a>
两方案区别:方案一仍会保持超链接形式;方案二会失去超链接,变成文本形式,如果你点击是一个图标不需要下划线,可以用此方案。
3 样例代码
<!DOCTYPE html> <html> <head> <title>Test href# top view</title> </head> <body> <div> <a id="link1" href="#">link 1</a></br> <a id="link2">link 2</a></div></br> <div style="height:1300px; 300px;border:solid 1px red"> I am a Div </div> <a id="link3" href="#">link 3 with href='#' [NOK]</a></br> <a id="link4" href><button>link 4 </button> with href [NOK]</a></br> <a id="link5" href="javascript:void(0)">link 5 with href="javascript:void(0)" [OK]</a></br> <a id="link6"><button>link 6 </button> without href [OK]</a> <script type="text/javascript"> document.getElementById("link1").onclick=function(){ alert("You clicked link1"); } document.getElementById("link2").onclick=function(){ alert("You clicked link2"); } document.getElementById("link3").onclick=function(){ alert("You clicked link3"); } document.getElementById("link4").onclick=function(){ alert("You clicked link4"); } document.getElementById("link5").onclick=function(){ alert("You clicked link5"); } document.getElementById("link6").onclick=function(){ alert("You clicked link6"); } </script> </div> </body> </html>