我正在jQuery Mobile和PhoneGap中开发我们的移动应用程序。我们的每个主页都有一个列表视图,用于显示各种类型的数据。如果应用程序在平板电脑上运行,或者在屏幕大于特定宽度的横向视图中运行,我希望listviews将data-inset属性设置为true,并使用圆角和边框进行渲染。如果它位于预定宽度以下的较小屏幕上,我希望它不具有插入属性。
在我的函数中,我做了类似这样的事情来设置data-inset属性:
var list = $("#testlist");
list.data("inset", true);
list.listview("refresh",true);
但是,这不会更新列表。它保持格式化以适应屏幕的整个宽度。我该如何实现这一目标?我想过手动添加样式,但我不仅要将它添加到列表中,还要添加每个列表项。有没有办法可以切换数据插入属性并触发框架重新设置它?
这是一个半工作的jsFiddle模仿我想要做的事情:http://jsfiddle.net/GQgV9/12/
答案 0 :(得分:1)
没有文明的方法可以做到这一点。刷新只会更新小部件的内部。要使列表插入,您必须:
<ul>
上设置插入类,.i.e。 ui-listview-inset
和ui-corner-all
。inset
设置.listview('option', 'inset', true)
选项。以下是jsFiddle的修改版本: http://jsfiddle.net/GQgV9/13/