动态插入的页眉和页脚不会出现

时间:2014-01-23 09:45:09

标签: javascript jquery-mobile jquery-mobile-toolbars

大家好我有一个问题......

我使用的是JQM 1.4 ...有时会发生这样的情况:当我点击一个按钮时会被重定向(到一个新的HTML5文件)...在新页面上,页眉和页脚没有样式......它没有'总是发生,但我不能有这样的页面...

对于页脚和标题我使用外部HTML文件(header.html和footer.html),我用

调用它们
$('#pageprostoriheader').load('header.html').trigger("create");
$('#pageprostorifooter').load('footer.html').trigger("create");

正如我所说,这种情况并不经常发生,但是当它发生的时候很难......

我有一个多页面模板,我想这可能是因为页眉和页脚没有得到足够快的加载....所以它可能像装载机一样等待直到它显示页面?

1 个答案:

答案 0 :(得分:1)

自jQuery Mobile 1.4起,.trigger("create")已弃用,将在1.5上删除。此外,要创建页眉/页脚,您应该使用.trigger("pagecreate"),但是,它也已弃用,将被删除。

要在父元素上调用上述函数的替换.enhanceWthin()。这个问题有几个solutuins

  1. 使用.load()成功.toolbar()后增强工具栏

    $('#pageprostoriheader').load('header.html', function () {
      $(this).toolbar();
    });
    
    $('#pageprostorifooter').load('footer.html', function () {
      $(this).toolbar();
    });
    
  2. 成功.load()后使用活动页面上的.enhanceWithin()增强工具栏

    $('#pageprostoriheader').load('header.html', function () {
      $.mobile.pageContainer.pagecontainer("getActivePage").enhanceWithin();
    });
    
    $('#pageprostorifooter').load('footer.html', function () {
      $.mobile.pageContainer.pagecontainer("getActivePage").enhanceWithin();
    });
    
  3. 如果您在所有网页上使用相同的工具栏,我建议您使用外部工具栏

    <body>中不在 page div中添加页眉和页脚的HTML标记,然后在jQuery Mobile.js之后在 head 中添加以下代码。< / p>

    $(function () {
       $("[data-role=header], [data-role=footer]").toolbar();
    });