href=“#” 和浏览器情况下的后退按钮
href="#" and back button on browser situation
嗨,伙计们,我在浏览器中的"后退"操作有问题。当我单击链接时,它会将我带到我的"页面"(调用显示某些特定div 的 javascript 函数),但是当我单击后退按钮时,它只是从 url 中删除 #,什么也不做。
这是具有该函数的代码:
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>';
所以网址现在是:...列表.html?商店=29#当我按下后退按钮时,它只是从 URL 中删除"#"并保持在同一页面上(显示相同的div)
有什么想法可以解决这个问题吗?谢谢
不要使用href="#"
使用href='javascript:void(0)'
这将阻止您的 URL 更改和影响后退按钮
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>';
使用该#
会更改存储在浏览器历史记录中的URL,因此大多数浏览器会将其计为页面更改。 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
标记的行为,而不必担心链接的默认行为。
尝试使用 href="javascript:void(0)" 看看它是否有效。而不是 href="#"
相关文章:
- 如何在不单击javascript中的按钮的情况下触发事件
- 如何在不需要单击按钮的情况下获取选项的值
- 我可以在不连接按钮的情况下以角度方式使用zclip吗
- 一个具有两个图像按钮的表单在只能按下一个按钮的情况下发送两个按钮值
- 如何在没有按钮的情况下提交表单
- vue-js-单选按钮won't默认情况下使用v-model属性进行检查
- 如何在不点击按钮的情况下打开引导模式
- 如何在不使用jQuery的情况下设置数组以获取单选按钮值
- 如何停止两个按钮执行相同的工作?在这种情况下,它们都会滚动到顶部
- 如何在没有按钮的情况下实现显示隐藏JavaScript
- 在不使用按钮的情况下加载代码
- 如何在不刷新页面和不单击“发送”按钮的情况下从下拉选择中向 MYSQL 发送值
- 如何在只单击一个星形按钮的情况下启用禁用按钮
- AngularJs:默认情况下未选择单选按钮
- 在不使用提交按钮重新加载的情况下将表单提交到PHP页面
- 在不重新加载页面的情况下更改类似facebook的按钮语言
- 返回按钮回调函数在特定情况下失败或未启动
- 如何在不提交表单的情况下使用struts2提交标记作为按钮
- 按钮(禁用=错误)条件;在某些情况下有效,而在其他情况下无效
- AJAX/JS:是否可以在没有提交按钮和刷新页面的情况下获取输入文本的值