【问题标题】:JQuery Mobile, losing formatting when programmatically changing button textJQuery Mobile,以编程方式更改按钮文本时丢失格式
【发布时间】:2013-01-12 12:37:21
【问题描述】:

我正在尝试以编程方式更改 jQuery Mobile 中按钮的文本。当我这样做时,按钮会丢失一些格式。下面是说明两次尝试的代码。任何人都可以提出一种不会阻塞浏览器的方法吗?

<script>
$(document).bind("pageinit", function(){

    $("#buttonId").text("New Text");
    $("#buttonId").button("refresh");
});

//Method #2
$(document).ready(function () {
    $("#buttonId").text("New Text");
    $("#buttonId").button("refresh");
});
</script>

<a  id="buttonId" href="" data-role="button">Old Text</a>

【问题讨论】:

    标签: jquery jquery-mobile button dynamic formatting


    【解决方案1】:

    应该使用这个:

    $("#buttonId span span").text("New Text");
    

    要更改文本,无需:

    $("#buttonId").button("refresh");
    

    另外以后不要使用:$("#buttonId").button("refresh");,这个功能只是用来增强动态创建/展开的listview的外观。

    正确的做法是:

    $("#buttonId").button();
    

    按钮没有刷新方法。如果您想了解更多相关信息以及为什么在 jQuery Mobile 中处理动态创建的内容时要小心谨慎,请查看我的博客 ARTICLE。或者你可以找到它HERE

    【讨论】:

    • 工作得很好,谢谢!跨度跨度是指html标签吗?是因为 jQuery Mobile 在页面编译时添加了这些标签吗?
    • 当 jQM 创建一个按钮时,它将使用额外的 span 标签增强其标记。您可以在 Firefox 或 Chrome 上使用 firebug 插件进行检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多