Javascript 在文本字段之间切换时出现Sencha触摸滚动问题
在我的Sencha Touch(2.3)应用程序中,面板上有许多文本字段 当我使用tab键向下浏览面板时,滚动位置会相应地更新Javascript 在文本字段之间切换时出现Sencha触摸滚动问题,javascript,html,extjs,sencha-touch,Javascript,Html,Extjs,Sencha Touch,在我的Sencha Touch(2.3)应用程序中,面板上有许多文本字段 当我使用tab键向下浏览面板时,滚动位置会相应地更新 但是,在向下切换页面后,当我尝试滚动面板(向上或向下)时,面板的行为就好像滚动位置仍然在顶部,滚动不正常一样。这会导致滚动锁定或使面板内容离开屏幕。通过附加侦听器解决了这一问题,该侦听器在控制字段获得焦点时调用scrollTo函数。这将确保正确设置滚动位置,而Sencha Touch中的选项卡通常不会设置滚动位置 MyApp.utils.Global.attachScr
但是,在向下切换页面后,当我尝试滚动面板(向上或向下)时,面板的行为就好像滚动位置仍然在顶部,滚动不正常一样。这会导致滚动锁定或使面板内容离开屏幕。通过附加侦听器解决了这一问题,该侦听器在控制字段获得焦点时调用scrollTo函数。这将确保正确设置滚动位置,而Sencha Touch中的选项卡通常不会设置滚动位置
MyApp.utils.Global.attachScrollToOnFocus([
'firstTextField',
'secondTextField',
'thirdTextField'
], scroller, container);
以及实用方法:
attachScrollToOnFocus: function(inputs, scroller, container){
var i, scroll = function(e){
var pos = -(container.getY() - Ext.get(e.target.id).getY());
if(pos > scroller.getMaxPosition().y) {
scroller.scrollToEnd();
}
else {
scroller.scrollTo(0, pos);
}
};
for(i = 0; i < inputs.length; i++) {
Ext.get(inputs[i]).on({
focus: scroll
});
}
}
attachScrollToOnFocus:函数(输入、滚动条、容器){
变量i,滚动=功能(e){
var pos=-(container.getY()-Ext.get(e.target.id).getY());
if(pos>scroller.getMaxPosition().y){
scroller.scrollToEnd();
}
否则{
滚动条。滚动至(0,位置);
}
};
对于(i=0;i