Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在文本字段之间切换时出现Sencha触摸滚动问题_Javascript_Html_Extjs_Sencha Touch - Fatal编程技术网

Javascript 在文本字段之间切换时出现Sencha触摸滚动问题

Javascript 在文本字段之间切换时出现Sencha触摸滚动问题,javascript,html,extjs,sencha-touch,Javascript,Html,Extjs,Sencha Touch,在我的Sencha Touch(2.3)应用程序中,面板上有许多文本字段 当我使用tab键向下浏览面板时,滚动位置会相应地更新 但是,在向下切换页面后,当我尝试滚动面板(向上或向下)时,面板的行为就好像滚动位置仍然在顶部,滚动不正常一样。这会导致滚动锁定或使面板内容离开屏幕。通过附加侦听器解决了这一问题,该侦听器在控制字段获得焦点时调用scrollTo函数。这将确保正确设置滚动位置,而Sencha Touch中的选项卡通常不会设置滚动位置 MyApp.utils.Global.attachScr

在我的Sencha Touch(2.3)应用程序中,面板上有许多文本字段

当我使用tab键向下浏览面板时,滚动位置会相应地更新


但是,在向下切换页面后,当我尝试滚动面板(向上或向下)时,面板的行为就好像滚动位置仍然在顶部,滚动不正常一样。这会导致滚动锁定或使面板内容离开屏幕。

通过附加侦听器解决了这一问题,该侦听器在控制字段获得焦点时调用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