【问题标题】:accessing tab content across various pages jquery mobile跨多个页面访问标签内容jquery mobile
【发布时间】:2013-05-15 10:41:29
【问题描述】:

我在我的应用程序中使用 Jquery mobile。早些时候,我使用单页并使用哈希标签在页面中导航,但现在我计划将其分成多个页面。那么哪个是更好的方法,即使用标签或为此制作单独的文件?

在将 html 文件分成多个文件后,我将如何访问带有 data-role="page" 的标签的内容?如前所述,我使用 # 标签在页面内进行搜索。

【问题讨论】:

    标签: jquery html jquery-mobile jquery-mobile-ajax


    【解决方案1】:

    从导航点开始,您将使用文件名而不是页面#。但这是唯一的区别。

    哪种解决方案更好取决于您要做什么。如果您使用 Phonegap 创建混合移动应用程序,请使用单个 HTML 文件/多页方法。如果您只是创建网站的移动版本,请使用多个 html 方法。

    从内容访问的角度来看,没有任何变化。您仍将使用您的页面 ID 来访问其内容。

    例如,如果您刚刚从页面 index.html 转换到 second.html 并且 second.html 有一个 id 为 second 的页面。然后您将通过以下方式访问其内容:

    $('#second [data-role="content"]').....
    

    基本上,如果您不计算导航,其他任何事情都不会改变。您的内容仍将加载到 DOM 中。

    编辑:

    我忘了,有一件事会改变。在多个 html 文件解决方案的情况下,第一页正常加载。它的 HEAD 和 BODY 被加载到 DOM 中,它们在那里等待其他内容。当第二个页面被加载时,只有它的 BODY 内容被加载到 DOM 中。 因此,您还需要担心这一点。如果您想了解更多信息,请查看我的其他答案:Why I have to put all the script to index.html in jquery mobile

    【讨论】:

    • 但是在将其分成多个文件后,我无法使用#tags 访问这些类
    • 在您上面给出的示例中:$('#second [data-role="content"]')..... 我将如何访问 data-role=" 中的特定 div内容”?
    • $('[data-role="content"]').find('#someDIVid')....,如果你想做一个特定的页面(它必须加载到DOM) - $('#index [data-role="content"]').find('#someDIVid')...,或者如果您想在活动页面上执行此操作 - $.mobile.activePage。查找('#someDIVid')....
    • 请放心,我随时为您提供帮助 :)
    • 我将如何使用这种方法处理 live() 事件?示例代码: $("#mainPortal").live("pageshow", function() { var tabShown = $("#mainTabsContent").find(".selTab"); refreshDataDisplays(tabShown, false); });
    猜你喜欢
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多