jquerymobile datafilter を使用したリストビューがあり、iscroll を使用しています。datafilter で検索した後、スクロール可能な領域のサイズを変更しないため、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');
});
リストビューでキャッチできる他の(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 を使用しています。