动态更改页面更改时的标题按钮图标,jQuery mobile 1.4.5

时间:2015-02-16 10:56:22

标签: javascript jquery jquery-mobile

好的,这应该很简单,但似乎没什么用......

 <div data-role="header" data-position="fixed" data-tap-toggle="false">
    <h1 class="ui-title" id="headertitle"></h1>
        <a class="ui-btn-left ui-nodisc-icon ui-btn-inline ui-mini" id="leftButton" onclick="alert('this');" data-icon="gear" data-iconpos="notext"></a>
 </div>

我在页面显示,页面创建和页面中尝试了以下内容,然后在jQuery mobile中更改页面上的show事件:

$('#leftButton').data("icon", "grid");
$('#leftButton').jqmData("icon", "grid");
$('#leftButton').attr("data-icon", "grid");

这些似乎都不起作用。那么如何更改标题按钮图标以适应每个页面?

1 个答案:

答案 0 :(得分:2)

jQuery mobile有一个按钮小部件以及dom元素,其风格看起来像按钮。在你的情况下,Anchor只是样式,所以你可以简单地切换类:

<a id="leftButton" href="#" class="ui-btn ui-icon-gear ui-btn-icon-notext ui-corner-all">No text</a>

$( "#leftButton" ).on("click", function(){
    $(this).removeClass("ui-icon-gear").addClass("ui-icon-grid");
});

如果您想使用小部件,那么您可以在代码(http://api.jquerymobile.com/button/#option-icon)中设置图标选项:

<input id="btnWidget" type="button" data-icon="gear" data-iconpos="notext" value="Icon only" />

$( "#btnWidget" ).on("click", function(){
    $(this).button( "option", "icon", "grid" );
});
  

这两种技术的 DEMO