我有一个指令来控制我想要格式化的输入值。
directive('validNumber', function(shareDataService)
{
return
{
require: 'ngModel',
link: function(scope, element, attrs, ngModelCtrl)
{
if(!ngModelCtrl)
{
return;
}
ngModelCtrl.$parsers.push(function(val) {
if (angular.isUndefined(val)) {
var val = '';
}
var clean = val.replace(/[^-0-9\.]/g, '');
var decimalCheck = clean.split('.');
if(!angular.isUndefined(decimalCheck[1]))
{
decimalCheck[1] = decimalCheck[1].slice(0,2);
clean = decimalCheck[0] + '.' + decimalCheck[1];
}
if (val !== clean)
{
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return scope.hesapla(clean);
});
element.bind('keypress', function(event) {
if(event.keyCode === 32) { // space
event.preventDefault();
}
});
element.bind('keypress', function(event) {
if(event.keyCode === 45) { // - key
event.preventDefault();
}
});
}
};
})
它完美地在浏览器上工作,但是按键事件无法在设备上运行。需要使用谷歌浏览器检查设备但不能开火。我也尝试过keyup或keydown但仍然没有工作。我怎么能这样做?
谢谢
答案 0 :(得分:-1)
您需要做的只是在项目中包含一个jQuery文件。任何版本的名为jQuery.mobile.js或非常相似的文件(例如jQuery.ui.js)都可以为您提供帮助。
您可以从以下网址下载:Download | jQuery Mobile