代码之家  ›  专栏  ›  技术社区  ›  Pallavi Anderson

jQuery mobile不适合jQuery tmpl?

  •  2
  • Pallavi Anderson  · 技术社区  · 14 年前

    是否有任何原因使相同的模板和JavaScript

    <script id="taskTemplate" type="text/x-jquery-tmpl">
      <li>${name}</li>
    </script>
    
    $.getJSON(url, function(data) {       
      $("#taskTemplate").tmpl(data).appendTo("#tasks");
    });
    

    将使用以下jqtouch标记进行记录:

    <ul class="rounded" id="tasks"></ul>
    

    但是导致模板在无序列表之外(之后)呈现,并带有以下jquery mobile标记?

    <div data-role="content"> 
      <ul data-role="listview" id="tasks"></ul>
    </div><!-- /content -->
    

    我知道jquery mobile是alpha版本,但到目前为止它运行得很好,我不希望在这个阶段切换到jqtouch。有人看到这种行为并找到解决办法吗?

    3 回复  |  直到 7 年前
        1
  •  3
  •   Ganmor    14 年前

    模板化完成后,需要调用listview的refresh方法。

    $(“yourUl”).listview(“刷新”); 在case.page()方法从未被调用的情况下,您可能希望执行这样的操作。

        try { 
            $(yourUl).listview("refresh");
        } catch(e){
            // Well, nothing to do there
        } 
    
        2
  •  1
  •   Pallavi Anderson    14 年前

    已经在alpha 2中修复了这个问题。请看这里: http://jquerymobile.com/demos/1.0a2/#docs/lists/docs-lists.html (向下滚动至“更新列表”)

        3
  •  0
  •   Tim P.    14 年前

    看起来应该是

    $("#taskTemplate").tmpl(data).appendTo("#tasks").page();
    

    你需要在最后加上.page()。

    推荐文章