Skip to content

Instantly share code, notes, and snippets.

@sposmen
Forked from umidjons/enter-as-tab-directive.md
Created September 10, 2016 12:15
Show Gist options
  • Save sposmen/9f41ea1d510c2df29ea4100e6ee46a56 to your computer and use it in GitHub Desktop.
Save sposmen/9f41ea1d510c2df29ea4100e6ee46a56 to your computer and use it in GitHub Desktop.
AngularJS directive: Enter as Tab

AngularJS directive: Enter as Tab

angular.module('App',[])
	.directive('enter',function(){
		return function(scope,element,attrs){
			element.bind("keydown keypress",function(event){
				if(event.which===13){
					event.preventDefault();
					var fields=$(this).parents('form:eq(0),body').find('input, textarea, select');
					var index=fields.index(this);
					if(index> -1&&(index+1)<fields.length)
						fields.eq(index+1).focus();
				}
			});
		};
	});

How to apply:

<form class="form-horizontal" novalidate>
	<div class="form-group">
		<div class="col-sm-4">
			<label>Input 1</label>
			<input class="form-control" ng-model="word.data1" enter>
		</div>
		<div class="col-sm-4">
			<label>Input 2</label>
			<input class="form-control" ng-model="word.data2" enter>
		</div>
		<div class="col-sm-4">
			<label>Input 3</label>
			<input class="form-control" ng-model="word.data3" enter>
		</div>
	</div>
</form>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment