【发布时间】:2013-08-16 02:19:39
【问题描述】:
我正在使用 jQueryMobile 和 Backbone,并且在自定义或动态生成的后退按钮无法正确返回历史记录时遇到问题。我在锚标签上使用data-rel="back" 属性,如文档中所述:http://view.jquerymobile.com/1.3.2/dist/demos/widgets/headers/
我的后退按钮代码如下:
<a href="#" data-rel="back" data-icon="arrow-l" data-iconpos="notext"></a>
当我单击后退按钮时,它似乎根本没有使用data-rel="back" 功能,而是转到href 属性中指定的页面,在大多数情况下为“#”或为空。
这可以通过硬编码不同的href 值来确认 - 后退按钮将转到该页面,而不是历史记录中的前一页。
我怀疑这是 Backbone 和 jQuery Mobile 之间的冲突以及使它们正常工作所需的配置(让 Backbone 处理页面转换),但不知道如何解决它。
如 jQM 文档中所述,我必须在 mobile-config 文件中设置以下内容:
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
$.mobile.changePage.defaults.changeHash = false;
注意:在发布之前,我已经在 SO 上查看了许多关于此主题的帖子,但似乎没有任何回复中提供合适的解决方案。
【问题讨论】: