当前位置: 首页 > 面试题库 >

有没有办法在JavaScript中捕获后退按钮事件?

陈项禹
2023-03-14
问题内容

当仅更改位置哈希值时,是否有办法应对javascript中的后退按钮被击中(或按下退格键)的问题?也就是说,当浏览器不与服务器通信或重新加载页面时。


问题答案:

使用hashchange事件:

window.addEventListener("hashchange", function(e) {
  // ...
})

如果需要支持较旧的浏览器,请查看Modernizr的HTML5跨浏览器Polyfills Wiki页面中的“hashChange事件”部分。



 类似资料:
  • 问题内容: 我已经看到,在其他类型的对话框窗口(例如“ showConfirmDialog”)中也可以做到这一点,在其中可以指定按钮的数量及其名称。但是使用“ showInputDialog”时是否可以实现相同的功能?我似乎在API中找不到这种类型的东西。也许我只是想念它,但是任何帮助都值得赞赏。 问题答案: 只需将自定义JPanel添加为消息即可:

  • 我已经看到,这在其他类型的对话框窗口中是可能的,如“ShowConfirmDialog”,其中可以指定按钮的数量和它们的名称;但是在使用“ShowInputDialog”时是否可以实现相同的功能?我似乎在API中找不到这种类型的东西。也许我只是错过了,但任何帮助都很感激。

  • 在写这个之前,我已经经历了很多stackoverflow问题。我对这个家伙的碎片背栈很困惑。 我在一个活动中的同一个容器上添加了三个片段 现在我想要的是,当用户按下片段3上的后退按钮时,它应该出现在第一个片段上,所以我已经覆盖了onBackPressed()方法。 但屏幕上什么也没发生,它让片段3继续运行。 更新 任何实现这一点的解决方案。

  • 当使用Intent启动一个新活动时,活动顶部的栏是否会自动提供后退按钮?我假设它是这样工作的,但没有看到它。如果它没有自动出现,需要什么来使它出现?

  • 大概是这样的: 谢谢[已解决] 也感谢Umer Farooq的回答:从lambda内部修改局部变量

  • 在AVD管理器中创建模拟器时,选中了启用硬件按钮,但下面仍然没有硬件按钮。它是Android Studio北极狐狸和API级别30。Android Studio有什么问题吗?它在macOS Big Sur上。