这是angular内置事件处理指令样式的可重用指令:
angular.module('sbLoad', []) .directive('sbLoad', ['$parse', function ($parse) { return { restrict: 'A', link: function (scope, elem, attrs) { var fn = $parse(attrs.sbLoad); elem.on('load', function (event) { scope.$apply(function() { fn(scope, { $event: event }); }); }); } }; }]);触发img load事件时,将在当前作用域中将sb-load属性中的表达式与load事件一起评估,并作为$ event传入。使用方法如下:
HTML
<div ng-controller="MyCtrl"> <img sb-load="onImgLoad($event)"></div>
JS
.controller("MyCtrl", function($scope){ // ... $scope.onImgLoad = function (event) { // ... }注意:“ sb”只是我用于自定义指令的前缀。



