【发布时间】:2016-11-06 23:29:23
【问题描述】:
我需要此页面底部的“确定”按钮在打开时保持在键盘上方。 如您在左侧的屏幕截图中所见,它适用于 Android,但不适用于 IOS(右侧的屏幕截图)。
你能帮我写代码吗?
此外,正如您所见,“select-on-focus”指令在 iOS 中不起作用...... 而小键盘应该是 iOS 上的数字小键盘(电话键盘)……但它不是。
那么 3 个问题 ;)
这是一个视频: https://youtu.be/_bOWGMGesgk
代码如下:
<div class="wrapperFlex withNextButton">
<div class="itemTitle">
<div class="text">
{{'paramQuestions.weight' | translate }}
</div>
</div>
<div id="weightdata" class="itemParameters weightdataclass row">
<input class="weightinput" type="number" name="userweight" ng-min="{{data.minWeight}}" ng-max="{{data.maxWeight}}" ng-model="data.realWeight" ng-change="updateViewGenVol(data.weightunit, data.userweight, data.BLfactorValue);saveUserWeight()" select-on-focus required></input>
<div class="weightunitradios">
<ion-checkbox class="checkboxes checkbox-blueboardline" ng-model="data.weightunit" ng-true-value="'kg'" ng-false-value="'lbs'" ng-change="saveWeightUnit(); changeMinMax(); convertWeightInput(); saveUserWeight();">kg</ion-checkbox>
<ion-checkbox class="checkboxes checkbox-blueboardline" ng-model="data.weightunit" ng-true-value="'lbs'" ng-false-value="'kg'" ng-change="saveWeightUnit(); changeMinMax(); convertWeightInput(); saveUserWeight();">lbs</ion-checkbox>
</div>
</div>
</div>
directives.js:
.directive('selectOnFocus', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var focusedElement = null;
element.on('focus', function () {
var self = this;
if (focusedElement != self) {
focusedElement = self;
$timeout(function () {
self.select();
}, 10);
}
});
element.on('blur', function () {
focusedElement = null;
});
}
}
})
【问题讨论】:
-
要获得手机键盘,你必须使用
-
好的,谢谢。你对其他问题有什么想法吗?
-
也许可以试试this directive,它似乎工作得很好
-
@nicfo 谢谢,但是这个指令对 type = number 不起作用,请问有什么其他想法吗?
标签: android ios angularjs ionic-framework