我在jview移动应用程序的listview中有一个可折叠的列表项。
由于我通过knockout动态绑定到列表,因此我有负责初始化listview的处理程序。因此我的标记很简单。
<div data-role="page" id="p1">
<div data-role="content">
<ul id="mylist" data-bind="foreach: items, jqmRefreshList: items">
<li>
<div>
<h2 data-bind="text: txt"></h2>
<p data-bind="text: desc"></p>
</div>
</li>
</ul>
</div>
</div>
绑定处理程序的编写方式如下:
ko.bindingHandlers.jqmRefreshList = {
update: function (element, valueAccessor) {
ko.utils.unwrapObservable(valueAccessor());
try {
console.log('executed');
console.log(element);
$(element).listview();
var e = $(element).find('li >div');
e.collapsible({iconpos: "right"});
} catch (ex) {
console.log(ex);
}
}
};
尽管语句为e.collapsible({iconpos: "right"});
,但可折叠元素在左侧显示图像,而不是正确。
答案 0 :(得分:1)
您正在使用jQuery mobile的旧版本(1.2),其设置名为iconPos
,大写为P
:
var e = $(element).find('li >div');
e.collapsible({iconPos: "right"});
演示JSFiddle。
因此,如果您升级jQuery移动版本,那么原始代码也将起作用:Demo JSFiddle.