Explorar o código

添加图片的加载和出错事件

lqq %!s(int64=8) %!d(string=hai) anos
pai
achega
f6854cefd0
Modificáronse 1 ficheiros con 58 adicións e 0 borrados
  1. 58 0
      talkview/src/js/directive/image.js

+ 58 - 0
talkview/src/js/directive/image.js

@@ -0,0 +1,58 @@
+(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);
+                });
+            };
+        }
+    }
+})();