Stack Overflow 有几个与检测后退按钮按下相关的问题,最相关的一个是用于执行此操作的库列表:
https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin
问题是,当我尝试使用该线程(和其他地方)中的库时,它们要么:
- 不起作用(不再起作用;它们一定曾经起作用过)
- 不支持 IE8
- 损坏了 Backbone 的路由器
问题似乎是 Backbone 的路由器监视 hashchange 事件,其他库也是如此,它们这样做的方式会影响 Backbone 的路由器(例如,其中一个使后退按钮完全停止工作)。
所以,我的问题是,有谁知道一种在 IE8+ 中工作的检测后退按钮按下的方法,它(这是关键部分)不会破坏 Backbone 路由器?
或者如果做不到这一点,任何人都可以解释或指出我如何在 Backbone.Router 支持的网站上实现后退按钮预防吗?
最佳答案
如果您试图消除使用后退按钮重新触发的特定点击(例如删除事件),最简单的方法是首先使用 PreventDefault() 作为 onclick 事件的一部分来阻止它们添加到历史记录中功能。
如果这是您的问题,这将是一篇值得阅读的好文章:http://lostechies.com/derickbailey/2011/08/03/stop-using-backbone-as-if-it-were-a-stateless-web-server/
这里有一个相当简单的方法,用于使用 Backbone 检测后退点击:backbone routing detecting whether forward or back pressed
关于internet-explorer - 有没有任何 Backbone 友好的方法来检测后退按钮按下情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17283390/