日期:2014-05-16  浏览次数:20472 次

超链接中href=#与href=javascript:void(0)的区别
在cc外呼开发中,发现点击订单历史、电话历史记录编号,跳转到详细信息标签页后,原页面样式发生变化。

这里的记录编号用的是超链接,点击超链接,触发js方法,跳转到详细信息页面,原代码如下:
a  href="#" onclick="detail('<%=sr.getServiceId()%>')"
                                           title="点击浏览详细"><%=StringUtils.trimToEmpty(sr.getServiceId())%>   /a

和胡振齐一起排查后,发现时href="#"导致的,#包含了一个位置信息,默认的锚点是#top 也就是网页的上端,所以点击超链接后,原页面会上移。

后改为

a    href="javascript:void(0);" onclick="detail('<%=sr.getServiceId()%>')"
                                           title="点击浏览详细"><%=StringUtils.trimToEmpty(sr.getServiceId())%>    /a


就正常了。

javascript:void(0)  仅仅表示一个死链接,点击链接后,页面不动,只打开链接。

所以使用超链接调用脚本的时候最好用void(0)。