【问题标题】:list refresh in jquery mobile?jquery mobile中的列表刷新?
【发布时间】:2012-01-09 10:11:45
【问题描述】:

我正在 jQuery Mobile 中动态创建 <ul>。创建列表后,我刷新列表,它工作正常。但问题是,当我从一个 div 页面移动到 div 页面(jQuery 中的页面)时。它正在移动到第二页,但来到第一页然后像闪烁一样转到第二页。

但是我在我的 js 中删除了列表刷新行,它工作正常,但 UI 是普通的 HTML。

$('#vaultList').children().remove('li');
$.mobile.changePage("#vaultPage", { transition: "pop", reverse: false, changeHash: false });
        var parent = document.getElementById("vaultList");
        parent.innerHtml = "";
        var userAgentType = userAgentType;
        //Create the Vault list at dynamically
        for (var vaultCount = 0; vaultCount < VaultDetails.length; vaultCount++) {
            var listItem = document.createElement('li');
            listItem.setAttribute('id', 'listitem_' + vaultCount);
            listItem.setAttribute('data-icon', 'false');
            listItem.innerHTML = "<a href='#' name='" + vaultCount + "' id='" + vaultCount + "' rel='external' data-inline='true'>" + "&nbsp;" + vaultCount) + "</a>";
            parent.appendChild(listItem);
        }
        var list = document.getElementById('vaultList');
        $(list).listview("refresh");

【问题讨论】:

    标签: javascript html jquery-mobile popup


    【解决方案1】:

    尝试在创建列表后在列表的父级上触发 create。例如,如果 vaultList 位于 ID 为 vaultListHolder 的 div 中,试试这个

    $("#vaultListHolder").trigger("create");
    

    【讨论】:

      【解决方案2】:

      在listview刷新后,您需要销毁页面以重新生成 UI,您可以这样做:

      $('.ui-page-active').page( "destroy" ).page();
      

      【讨论】:

      • 试试这个:$( "div[data-role=page]" ).page( "destroy" ).page();
      • 您是否有任何调试器来检查 $('.ui-page-active') 是否与您的 html 代码匹配?
      猜你喜欢
      • 2012-02-10
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      相关资源
      最近更新 更多