大家好我在浏览器中遇到“后退”操作问题。当我点击链接时,它会将我带到我的“页面”(调用显示某个特定div的javascript函数)但是当我点击后退按钮时,它只是从网址中删除了#并且什么也没做。
这是具有该功能的代码:
html += '<p><a href="#" title="' + places[i]['formatted_address'] + '" onclick="select_business(' + i + ');return true;">' + places[i]['name'] + '</a><br/>' + places[i]['formatted_address'] + '<br/>' + places[i]['phone_number'] + '</p>';
所以网址现在是:... listings.html?store = 29# 当我按下后退按钮时,它只删除URL中的“#”并保持在同一页面上(显示相同的div)
任何想法如何解决?感谢
答案 0 :(得分:2)
而不是使用href="#"
使用href='javascript:void(0)'
这会阻止您的网址更改并影响后退按钮
html += '<p><a href="javascript:void(0)" title="' + places[i]['formatted_address'] + '" onclick="select_business(' + i + ');return true;">' + places[i]['name'] + '</a><br/>' + places[i]['formatted_address'] + '<br/>' + places[i]['phone_number'] + '</p>';
使用#
更改存储在浏览器历史记录中的网址,因此大多数浏览器会将其视为网页更改。 javascript:void(0)
没有此效果,并提供了一种在HTML中设置无效a
代码的便捷方式
正如用户skobaljic在下面的评论中指出的那样,你也可以保留#
并从你的函数返回false:
html += '<p><a href="#" title="' + places[i]['formatted_address'] + '" onclick="select_business(' + i + ');return false;">' + places[i]['name'] + '</a><br/>' + places[i]['formatted_address'] + '<br/>' + places[i]['phone_number'] + '</p>';
注意,通常如果您使用没有href值的锚标记,您可以轻松替换span或其他内联元素,如果问题则不用担心这种情况。您可以使用css模仿a
标记的行为,而无需担心链接默认行为。
答案 1 :(得分:0)
尝试使用href =“javascript:void(0)”并查看它是否有效。而不是href =“#”