<a href="#" title="item1">
根据菜单选择,我显示几个div并隐藏剩余的div。一切正常。如果我点击菜单项,结果显示在同一页面上,但在浏览器地址栏上显示#
符号显示localhost/abc#
,这会导致激活浏览器返回(&lt ;- - )按钮可能会给用户一个错误的假设,即他们可以点击浏览器上的后退按钮。
有没有办法避免在地址栏中显示#
?
我在事件处理函数中使用return false;
语句来禁用href链接。
答案 0 :(得分:6)
有没有办法避免在地址栏中显示#?
是的,您可以通过更改
来避免#
<a href="#" title="item1">
到
<a href="javascript:void(0)" title="item1">
为什么显示#?(来自MDN)
<强> HREF 强> - 这是定义超文本源链接的锚点的唯一必需属性。它指示链接目标,URL或URL片段。 URL片段是以哈希标记(#)开头的名称,它指定当前文档中的内部目标位置(ID)。 URL不限于基于Web(HTTP)的文档。 URL可能使用浏览器支持的任何协议。例如,file,ftp和mailto在大多数用户代理中工作。
答案 1 :(得分:1)
如果您使用return false
结束事件处理程序,则表示它不会出现在您的地址栏中。基本上,在被调用的事件处理程序和return false
之间有一些不太正常的事情(因为它不会返回)。确保您的JavaScript没有错误。