diff --git a/src/js/onlyNumbers-directive.js b/src/js/onlyNumbers-directive.js new file mode 100644 index 0000000..1c6c9e5 --- /dev/null +++ b/src/js/onlyNumbers-directive.js @@ -0,0 +1,25 @@ +angular.module('focaDirectivas') + .directive('onlyNumbers', function () { + return { + restrict: 'A', + link: function (scope, elm, attrs, ctrl) { + elm.on('keydown', function (event) { + if (event.shiftKey) { event.preventDefault(); return false; } + //console.log(event.which); + if ([8, 13, 27, 37, 38, 39, 40].indexOf(event.which) > -1) { + // backspace, enter, escape, arrows + return true; + } else if ( + event.which >= 48 && event.which <= 57 || + event.which >= 96 && event.which <= 105 + ) { + // numbers 0 to 9 or numpad number + return true; + } else { + event.preventDefault(); + return false; + } + }); + } + } + });