预定义手机功能:当我们专注于任何输入时,它会自动滚动到移动设备中的输入。
问题:它不能在我的离子应用程序中工作,因为水平滚动也在那里,所以当我点击移动设备中的输入时,它不会自动滚动到该输入并且输入隐藏在键盘。
我为此尝试了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);
答案 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;
}