0
我在我的web应用程序(AngularJS HTML5)上出现了一个奇怪的问题。在将我的iPad升级到iOS8后,屏幕键盘表现异常。一旦点击一个文本字段,键盘(非常)短暂闪烁并消失。几乎不可能看到 - 屏幕底部只有一道黑暗的闪光。再次点击时,键盘显示正常。有其他人面临这个问题?这让我疯狂!iOS 8升级 - 全屏模式:屏幕键盘在第一次敲击文本框时短暂闪烁,在第二次敲击时正常显示
这是输入字段:
HTML:
<input valid-number ng-disabled="planBody.isSubmitted==='Y'" type="tel" maxlength="13" ng-model="planBody.campaign.campaignparams.budget" ng-required="true" currency-input=""/>
JS:
.directive('validNumber', function() {
return {
require: '?ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
if(!ngModelCtrl) {
return;
}
ngModelCtrl.$parsers.push(function(val) {
if(angular.isUndefinedOrNull(val))
{
val = "";
}
var clean = val.replace(/[^0-9]+/g, '');
if (val !== clean) {
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return clean;
});
element.bind('keypress', function(event) {
if(event.keyCode === 32) {
event.preventDefault();
}
});
}
};
})
.directive('currencyInput', function($filter, $browser) {
return {
require: 'ngModel',
link: function($scope, $element, $attrs, ngModelCtrl) {
var listener = function() {
var value = $element.val().replace(/,/g, '');
if(value !== ""){
$element.val($filter('number')(value, false));
}
$scope.markForSaveAlert();
};
// This runs when we update the text field
ngModelCtrl.$parsers.push(function(viewValue) {
return viewValue.replace(/,/g, '');
});
// This runs when the model gets updated on the scope directly and keeps our view in sync
ngModelCtrl.$render = function() {
if(ngModelCtrl.$viewValue!==''){
$element.val($filter('number')(ngModelCtrl.$viewValue, false));
}
};
$element.bind('change', listener);
$element.bind('keydown', function(event) {
var key = event.keyCode;
// If the keys include the CTRL, SHIFT, ALT, or META keys, or the arrow keys, do nothing.
// This lets us support copy and paste too
if (key == 91 || (15 < key && key < 19) || (37 <= key && key <= 40)){
return;
}
$browser.defer(listener); // Have to do this or changes don't get picked up properly
});
$element.bind('paste cut', function() {
$browser.defer(listener);
});
}
};
})
更新:这似乎只发生在全屏模式下,而不是在普通的移动Safari浏览器
可能是iOS8的问题,iOS 8.0.x有许多问题,例如尝试升级到iOS 8.1,并希望能解决您的问题。 – Yuvrajsinh 2014-10-27 12:12:29
我在8.1上运行。仍然有问题。是否有链接到8.0.x上发生的常见问题?YYvrajsinh – nikjohn 2014-10-27 12:24:14
你对文本字段进行任何操作吗? – Yuvrajsinh 2014-10-27 12:31:50