Button 对话框和后退按钮之间的潜在冲突

Button 对话框和后退按钮之间的潜在冲突,button,jquery-mobile,jquery-ui-dialog,Button,Jquery Mobile,Jquery Ui Dialog,我在JQM上记下了一个奇怪的行为 由于该页面基于JQM Boiler plate,因此我不在这里包含完整的页面。我在上发布了代码 以下是单击操作的行为摘要: 以下是相关代码的摘录: <div id="oneapart" data-add-back-btn="true" data-back-btn-text="List" data-role="page" data-title="Home page"> 我不明白为什么最后一次点击列表按钮(

我在JQM上记下了一个奇怪的行为

由于该页面基于JQM Boiler plate,因此我不在这里包含完整的页面。我在上发布了代码

以下是单击操作的行为摘要:

以下是相关代码的摘录:

<div id="oneapart" 
    data-add-back-btn="true" 
    data-back-btn-text="List" 
    data-role="page" 
    data-title="Home page">

我不明白为什么最后一次点击列表按钮(jquerymobileback按钮)需要2次点击才能实际操作链接。事实上,奇怪的行为是,第一次单击会以蓝色突出显示按钮,但在第二次单击之前,按钮不会切换到上一页

任何帮助都将不胜感激


尊敬。

您描述的bug由两部分组成

  • 为什么需要单击两下才能恢复
  • 为什么按钮保持激活状态(蓝色)
  • bug的第一部分不是bug;您打开了一个弹出窗口,但没有返回(例如,
    data rel='back'
    您打开了一个与上一个页面相同的页面。因此,如果您按下“后退”按钮,它将重新打开与您当前所在页面实际上相同的上一个页面(如果有意义的话)

    为什么按钮保持激活状态,我不知道


    编辑:我清理了一下你的代码:

    你描述的bug由两部分组成

  • 为什么需要单击两下才能恢复
  • 为什么按钮保持激活状态(蓝色)
  • 错误的第一部分不是错误;您打开一个弹出窗口,而不是返回(例如,
    data rel='back'
    您打开的页面与上一个页面相同。因此,如果您按下后退按钮,它将重新打开上一个页面,该页面实际上与您当前所在的页面相同(如果有意义的话)

    为什么按钮保持激活状态,我不知道


    编辑:我清理了一下你的代码:

    这个问题可以通过在弹出窗口的按钮中添加
    data rel=“back”
    来解决

    因此,已将问题标记为已解决

    出现此问题的原因是@jerone his fiddle中的大取消按钮链接中缺少
    data rel=“back”
    。请参阅此处的“关闭对话框”:

    第二页上的后退按钮是动态创建的。当您不在将您从Dialog3(也是一个页面)返回到第二页的链接上使用
    data rel=“back”
    时,它会将一个项目添加到历史堆栈中。这就是为什么第二页上的后退按钮需要两次单击才能真正返回到第一页。 活动状态将从pagehide事件的(后退)按钮中删除。第一次单击时,您将停留在同一页面上,因此此事件不会触发,按钮将保持活动状态

    我添加了
    data rel=“back”
    ,然后一切正常:

    按决议结束


    可以通过在弹出窗口中的按钮中添加
    data rel=“back”
    来解决此问题

    因此,已将问题标记为已解决

    出现此问题的原因是@jerone his fiddle中的大取消按钮链接中缺少
    data rel=“back”
    。请参阅此处的“关闭对话框”:

    第二页上的后退按钮是动态创建的。当您不在将您从Dialog3(也是一个页面)返回到第二页的链接上使用
    data rel=“back”
    时,它会将一个项目添加到历史堆栈中。这就是为什么第二页上的后退按钮需要两次单击才能真正返回到第一页。 活动状态将从pagehide事件的(后退)按钮中删除。第一次单击时,您将停留在同一页面上,因此此事件不会触发,按钮将保持活动状态

    我添加了
    data rel=“back”
    ,然后一切正常:

    按决议结束


    更正,感谢您的耐心。在我的桌面Chrome浏览器和android 2.3手机浏览器上,它对我来说运行良好,那么,您使用的浏览器是什么?只需点击两下,列表就可以在Chrome(iMac、Win7)和Safari(iphone、ipad、原始网站)上运行。您可以在桌面上复制它。我将在绘图上添加注释,以清楚地显示复制效果所需的步骤。在Firefox(iMac Lion和Win7)上也有类似的行为.更正,感谢您的耐心。我的桌面Chrome浏览器和android 2.3手机浏览器都可以正常工作,那么,您使用的浏览器是什么呢?只需点击两下,列表就可以在Chrome(iMac、Win7)和Safari(iphone、ipad、原始网站)上正常工作了。您可以在桌面上复制它。我将在绘图上添加注释,以清楚地显示复制效果所需的步骤。在Firefox(iMac Lion和Win7)上也有类似的行为.I+1您的答案;谢谢,同时,我希望保留问题,因为我仍然有蓝色按钮。I+1您的答案;谢谢,同时,我希望保留问题,因为我仍然有蓝色按钮。