(function () { angular .module('appMessages') .directive('imgLoad', imgLoad); imgLoad.inject = ['$parse', '$rootScope']; function imgLoad($parse, $rootScope) { var directive = { compile: compile, restrict: 'A' }; return directive; function compile($element, attr) { var fn = $parse(attr['img-load'], null, true); return function ngEventHandler(scope, element) { element.on('load', function (event) { var callback = function () { fn(scope, { $event: event }); }; scope.$apply(callback); }); }; } } })(); (function () { angular .module('appMessages') .directive('imgError', imgError); imgError.inject = ['$parse', '$rootScope']; function imgError($parse, $rootScope) { var directive = { compile: compile, restrict: 'A' }; return directive; function compile($element, attr) { var fn = $parse(attr['img-error'], null, true); return function ngEventHandler(scope, element) { element.on('error', function (event) { var callback = function () { fn(scope, { $event: event }); }; scope.$apply(callback); }); }; } } })();