var myApp = angular.module( 'myApp', [] ); myApp.controller( 'MyCtrl', [ '$scope', function ( $scope ) {}]); myApp.directive( 'myngFocused', [ '$compile', function ( $compile ) { return function ( scope, element, attr ) { var scopeVar = attr.myngFocused; attr.$set( 'myngFocused' ); attr.$set( 'ngFocus', scopeVar + ' = true' ); attr.$set( 'ngBlur', scopeVar + ' = false' ); $compile( element )( scope ); }; }]);
<div ng-controller="MyCtrl"> <input type="text" placeholder="Focus me!" myng-focused="focused"/> <pre ng-show="focused">I'm focused!!!</pre> </div>