Edit in JSFiddle

var myApp = angular.module( 'myApp', [] );

myApp.controller( 'MyCtrl', [ '$scope', function ( $scope ) {}]);

angular.forEach( [ 'blur', 'focus' ], function ( name ) {
    var directiveName = 'myng' + name.replace(/^\w/, function( char ) { return char.toUpperCase(); } );

    myApp.directive( directiveName, [ '$parse', function( $parse ) {
        return function( scope, element, attr ) {
            var fn = $parse( attr[ directiveName ] );
            element.bind( name.toLowerCase(), function( event ) {
                scope.$apply( function () {
                    fn( scope, { $event: event } );
                });
            });
        };
    }]);
});
<div ng-controller="MyCtrl">
    <input type="text" placeholder="Focus me!" myng-focus="focused = true" myng-blur="focused = false" />
    <pre ng-show="focused">I'm focused!!!</pre>
</div>