Monday 15 July 2013

Disable arrow keys for number input using angularjs -



Disable arrow keys for number input using angularjs -

i want disable , downwards keys number input through angularjs directive (or otherwise). note: don't want alter input type text have been asked not to. removed spinners too. new angular don't know much it. googled through links find hiding spinners , not disabling arrow keys. got code other link. disables mousewheel same. if changes can done, great.

module.directive('input',function() { homecoming { restrict: 'e', scope: { type: '@' }, link : function (scope, $element) { if (scope.type == 'number') { $element.on('focus', function () { angular.element(this).on('keyup', function (e) { e.preventdefault(); }); }); $element.on('blur', function () { angular.element(this).off('keyup'); }); } } } });

if want disable up/down arrow keys globally input[number] elements:

$(document).bind('keydown', function(event) { var target = event.srcelement || event.target; var tag = target.tagname.touppercase(); var type = target.type.touppercase(); if (tag === 'input' && type === 'number' && (event.keycode === 38 || event.keycode === 40)) { event.preventdefault(); } });

or can bind single element directive:

.directive('disablearrows', function() { function disablearrows(event) { if (event.keycode === 38 || event.keycode === 40) { event.preventdefault(); } } homecoming { link: function(scope, element, attrs) { element.on('keydown', disablearrows); } }; });

template:

<input type="number" disable-arrows />

angularjs angularjs-directive spinner

No comments:

Post a Comment