当专注于手机中的输入时,无法滚动到离子应用程序中的输入

时间:2017-03-07 12:41:02

标签: html css angularjs css3 ionic-framework

预定义手机功能:当我们专注于任何输入时,它会自动滚动到移动设备中的输入。

问题:它不能在我的离子应用程序中工作,因为水平滚动也在那里,所以当我点击移动设备中的输入时,它不会自动滚动到该输入并且输入隐藏在键盘。

我为此尝试了delegate-handle,但它无效。

Plunker用于相同的

HTML

<ion-scroll direction="xy" class="scroll" delegate-handle="nomineeDiv">
    <div class="table-row" ng-repeat="data in nominee"><!-- Multiple div show horizontally -->
        <form name="data.formName">
            <!-- Long vertical form
            .....
            .....
            after 4 input tags --> 
            <input type="text" name="something"/>
            <!-- Need to scroll to input when input focused -->
        </form>
    </div>
</ion-scroll>

控制器

$ionicScrollDelegate.$getByHandle('nomineeDiv').scrollBy(580, 140, true);

2 个答案:

答案 0 :(得分:3)

Solution.1 您是否可以尝试创建一个双击事件,将表单的位置更改为静态?这可能会让你的页脚达到最高位置。

Solution.2 使用CSS在表单上应用overflow-y: scroll;

Solution.3 您还可以尝试删除config.xml文件中的首选项<preference name="fullscreen" value="true" />

我遇到了同样的问题,我使用 Solution.2 解决了这个问题。

这是一个链接 - Keyboard Hiding Inputs Problem

答案 1 :(得分:2)

我可以通过在@ngModule中的app.module中添加“ scrollAssist:true”和“ autoFocusAssist:true”来解决此问题。像这样:

imports: [
   BrowserModule,
   IonicModule.forRoot(MyApp, {scrollAssist: true, autoFocusAssist: true}), 
   ]

并在这样的列上添加css

ion-col{
   position: initial !important;
}