我一直在尝试创建一个水平的radiobutton水平列表,但不知何故,我得到的结果与使用data- *属性时的结果相同。
如果我使用代码执行此操作,我会得到方形按钮,而使用属性时,我会得到一个漂亮的圆角工具栏。
以下是我用于创建按钮列表的代码:
$(element).controlgroup({ mini: true, type: "horizontal" });
应该与我使用data- *属性的那个相同:
<fieldset data-role="controlgroup" data-type="horizontal" data-mini="true">
我发布了一个jsfiddle来显示结果
http://jsfiddle.net/simonech/zeDt4/3/
有人可以对这种奇怪的行为嗤之以鼻吗? 谢谢 西蒙
答案 0 :(得分:0)
要使它们看起来一样,试试这个:
$("#mycontrolbox").controlgroup({ mini: true, type: "horizontal"});
$("#mycontrolbox").attr("data-role", "controlgroup");
更新了jsFiddle - http://jsfiddle.net/zeDt4/4/
现在,为什么会这样。
我认为jQuery mobile实际上并不是建立在jQuery UI上,即使它目前非常接近。 jQuery mobile正在使用这些数据 - **属性来选择每个标签的角色。当元素添加到html时,jqm读取内容并根据这些数据角色属性中的内容,它用自己的内容装饰/替换/当前内容。这更多的是关于元素的处理方式。
另一方面,当你打电话
$("#mycontrolbox").controlgroup();
这会创建一个jQuery组件,允许您使用该组件的方法。等等 从脚本的角度来看,这与组件的行为方式非常接近。但不,将数据角色属性添加到元素本身。