【问题标题】:JQueryMobile: Programmatically inserted Button's style doesn't applyJQuery Mobile:以编程方式插入按钮样式不适用
【发布时间】:2011-11-16 14:30:25
【问题描述】:

我在 ListView 中插入了一个 JQueryMobile 按钮。当按钮被硬编码时,jquerymobile 的 css 样式就会应用。但是当我尝试以编程方式插入按钮时,样式丢失了。如何将 JQueryMobile 的 css 重新应用到按钮?

为了让大家了解我在说什么,这是我在 ListView 上插入项目的代码

//CODE TO ADD A JAVASCRIPT BUTTON TO THE LIST
var parent = document.getElementById("group-1");
var listItem;
listItem = document.createElement('li');
listItem.setAttribute('id',"group-1-row-0");
var inner=    "<a href=\"#\" style=\"padding-top:0px;padding-left:0px;padding-bottom:0px\">";
inner = inner + "<div class=\"customTableLayout\">";
inner = inner +       "<fieldset data-role=\"fieldcontain\" id=\"ui-softbutton\">";
inner = inner +            "<input type=\"button\" id=\"ui-softbutton\" value=\"SOFTCODED\" />";
inner = inner +       "</fieldset>";
inner = inner + "</div>";
inner = inner + "</a>";
listItem.innerHTML = inner;
parent.appendChild(listItem);

//WHEN YOU TRY TO ENABLE THIS CODE, THE DISPLAY BECOMES WEIRD
//$("#ui-softbutton").button();
//$("#ui-softbutton").button('refresh');

$(parent).listview("refresh");

查看此代码的结果并查看 HARDCODED 按钮是否有效,请参阅JFiddle

【问题讨论】:

    标签: css listview button jquery-mobile


    【解决方案1】:

    现场示例:

    只需要追加 trigger('create') 方法

    $(parent).listview("refresh").trigger('create');
    

    【讨论】:

    • 哇!!!!菲尔你又救了一天!!!谢谢!我花了一整天的时间来完成这项工作,而您只花了几秒钟就发现了问题!我喜欢你!谢谢你!
    • trigger('create') 是解决我的按钮不更新样式问题的部分。
    猜你喜欢
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多