【问题标题】:JQM: how to detect first page reload after a "data-rel='back'" button on internal second page?JQM:如何在内部第二页上的“data-rel ='back'”按钮后检测第一页重新加载?
【发布时间】:2012-10-21 18:03:02
【问题描述】:

我正在编写一个 jQuery 移动应用程序。

在我的主页(“第一”)页面中,我使用自定义链接()链接了一个内部(“第二”)页面。

在我的第一页中,我需要检测用户点击第二页上的“data-rel='back'”按钮(并且第一页将再次显示)。 我试过了

    $(document).bind('pageinit')

    $(document).bind('pageshow')

没有成功。 请注意,使用

    rel="external"

$(document).bind('pageinit') 确实会触发,但这不是我想要的......

【问题讨论】:

    标签: jquery-mobile


    【解决方案1】:

    尝试使用$.mobile.urlHistory (How to modify jQuery mobile history Back Button behavior)。它有activeIndex,这是你在历史堆栈中的当前索引,还有previousIndex,当然是你以前的索引。

    因此,要通过单击“返回”按钮来检测用户是否来自您的第二页,您可以:

    检查他们来自的页面的哈希值:

    var previous = $.mobile.urlHistory.previousIndex;
    var origin = $.mobile.urlHistory.stack[previous].hash; //you may need to do some regex here
    if ( origin === "second" )
    

    或一般来说:

    // user clicked on 'back' button
    if ( $.mobile.urlHistory.activeIndex < $.mobile.urlHistory.previousIndex) 
    

    【讨论】:

    • 谢谢。我会接受你的答案,即使我不会测试它,因为我确实以其他方式解决了问题,这 - 对不起 - 我目前不记得...... :-(
    • 谢谢,我想你可能已经解决了,考虑问题的时间。我仍然想将适合我的解决方案留在这里,以防万一有人遇到。我是 SO 的新手,想为对我有很大帮助的社区做出一点贡献。
    猜你喜欢
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 2018-01-25
    • 1970-01-01
    相关资源
    最近更新 更多