我有一个带有 jquerymobile 数据过滤器的列表视图,我正在使用 iscroll。使用数据过滤器搜索后,我想重新加载 Iscroll,因为它不会调整可滚动区域的大小。(因此可以滚动离开项目)
这是我的html:
<div id="mywrapper" class="wrapper">
<div data-role="content" id="myscroller">
<ul data-role="listview" id="lstvw_myitems" data-filter="true"></ul>
</div>
</div>
我已经尝试将更改事件绑定到 listvw_myitems 更改,但它似乎没有被调用。
这是我尝试过的:
$('#lstvw_myitems').change(function() {
loadIScroll('wrapper');
});
我可以尝试在 listview 上捕获任何其他(jquery)事件吗?
这是我使用的 Iscroll 代码。(超时是为了修复 iscroll 加载时的错误,其他代码是防止滚动时选择。)
function loadIScroll(wrapperId){
setTimeout(function () {
var myScroll = new iScroll(wrapperId, {bounce: false, hScrollbar: false, vScrollbar: false, vScroll: true, useTransform: true, zoom: false,
onBeforeScrollStart: function(e){
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;
if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA')
e.preventDefault();
}
});
}, 1);
}
我正在使用 jqm 1.3 jq 1.9.1 和 iscroll v4.2.5。