在jquery移动标题中添加按钮到控制组

时间:2013-06-11 10:41:15

标签: jquery jquery-mobile header

我正在尝试动态地向controlgroup添加两个按钮。 controlgroup包含在header中。我希望两个按钮并排在标题的右侧。

但按钮按vertical方式添加,按钮周围也有一个矩形框。我怎么能以正确的方式做到这一点?

链接:http://jsfiddle.net/saQFx/1/

$('div[data-role="controlgroup"]').append('<a href="#" data-role="button" data-icon="bars" data-iconpos="notext" id="open-panel"></a>');

$('div[data-role="controlgroup"]').append('<a href="#" data-role="button" data-icon="bars" data-iconpos="notext" id="open-panel2"></a>');

$('#open-panel').button();
$('#open-panel2').button();

1 个答案:

答案 0 :(得分:1)

出于某种原因,当您尝试将data-type="horizontal"标记动态推送到a时,您的controlgroup设置会被删除。所以我尝试通过以下代码再次设置这些值:

$('#ctrl').controlgroup({
  type: "horizontal",
  corners: false
});

然后,trigger创建page

$("#frontPage").trigger('create');

这似乎有效。我会更多地了解这一点并回复你。但就目前而言,这是一个有效的演示:http://jsfiddle.net/saQFx/3/

所做的更改

  • 从html中删除了数据角色,并从JS <​​/ li>初始化了controlgroup
  • append()更改为html()
  • 在最后添加trigger('create');
  • 已移除button()。这不再需要了。如果您正在一起进行大量更改,就像您现在正在做的那样,更明智的是在create上致电page

另一种方法是通过javascript向整个控制组注入其所有内容,然后在您的页面上运行trigger('create')

修改

不幸的是,当你通过JS方式初始化controlgroup时,圆角本身并没有开始。猜猜你必须自己添加ui-corner-all课程,我只是不想进入。这是一个全新的混乱局面。所以,你可以尝试我提到的第二种方法,而不是那样:

  • 通过JS本身注入整个控制结构
  • 最终触发create page方法。

以下是演示:http://jsfiddle.net/hungerpain/saQFx/8/

希望这有帮助!