Jquery mobile jqm数据过滤器更改后如何重新加载Iscroll?
我有一个带有jquerymobile数据过滤器的列表视图,我正在使用iscroll。使用datafilter搜索后,我想重新加载Iscroll,因为它不会调整可滚动区域的大小。(因此可以从项目中滚动) 这是我的html:Jquery mobile jqm数据过滤器更改后如何重新加载Iscroll?,jquery-mobile,iscroll4,Jquery Mobile,Iscroll4,我有一个带有jquerymobile数据过滤器的列表视图,我正在使用iscroll。使用datafilter搜索后,我想重新加载Iscroll,因为它不会调整可滚动区域的大小。(因此可以从项目中滚动) 这是我的html: <div id="mywrapper" class="wrapper"> <div data-role="content" id="myscroller"> <ul data-
<div id="mywrapper" class="wrapper">
<div data-role="content" id="myscroller">
<ul data-role="listview" id="lstvw_myitems" data-filter="true"></ul>
</div>
</div>
是否有其他(jquery)事件可以在listview上捕获
这是我使用的Iscroll代码。(超时是为了修复加载Iscroll时的错误,另一个代码是为了防止滚动时选择。)
}
我正在使用jqm1.3jq1.9.1和iscroll v4.2.5。代替在列表对象上查找事件,我已更改代码以在搜索输入框中查找输入 下面是一个例子:
$(document).on('pagebeforeshow',"*", function(e, data){
//bind keypress of datafilter to resize iscroll
$('.ui-input-search > input').bind("keyup",function(){
myScroll.refresh();
});
}))
注:
Iscroll var必须在作用域中可用才能刷新它。始终调用此事件是因为*选择器,使用另一个选择器会更好。我也不知道“.ui输入搜索>输入”选择器是否足以覆盖那些搜索输入框
也许其他人会想出更好的解决办法 我也在努力做到这一点。这是一个很长的列表,一旦有人输入数据,我的Iscroll就不会调整大小。我试过你的方法,但我不能100%肯定我能理解。任何建议我都会很感激 这是我的iscroll代码:
var myScroll;
var scroll_cookie = readCookie('scrollToAlt');
var back_cookie = readCookie('previousPagePath');
function loaded()
{
myScroll = new iScroll('wrapper',
{scrollbarClass: 'myScrollbar',
hideScrollbar:false,
});
if ($('#scroller').height() <= $('#wrapper').height()){
myScroll.destroy();
myScroll = null;
}
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', loaded, false);
$(document).on('pagebeforeshow',"*", function(e, data){
//bind keypress of datafilter to resize iscroll
$('.ui-input-search > input').bind("keyup",function(){
myScroll.refresh();
});
});
var myScroll;
var scroll_cookie=readCookie('scrollToAlt');
var back_cookie=readCookie('previousPagePath');
函数加载()
{
myScroll=new iScroll('wrapper',
{scrollbarClass:'myScrollbar',
hideScrollbar:false,
});
如果($(“#scroller”).height()您使用的是Iscroll 4或其名为iScrollView的jQuery移动版本吗?请发布您绑定Iscroll
的代码,我想我使用的是普通的Iscroll 4,我已经从loadIScroll中添加了代码。您确定在刷新之前代码没有销毁Iscroll吗?
$(document).on('pagebeforeshow',"*", function(e, data){
//bind keypress of datafilter to resize iscroll
$('.ui-input-search > input').bind("keyup",function(){
myScroll.refresh();
});
var myScroll;
var scroll_cookie = readCookie('scrollToAlt');
var back_cookie = readCookie('previousPagePath');
function loaded()
{
myScroll = new iScroll('wrapper',
{scrollbarClass: 'myScrollbar',
hideScrollbar:false,
});
if ($('#scroller').height() <= $('#wrapper').height()){
myScroll.destroy();
myScroll = null;
}
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', loaded, false);
$(document).on('pagebeforeshow',"*", function(e, data){
//bind keypress of datafilter to resize iscroll
$('.ui-input-search > input').bind("keyup",function(){
myScroll.refresh();
});
});