Pass it, like any other property of the scope, for example modal el="clickedElement" :
<button id="myId" ng-class="{'blueBg': blueBg}" ng-click="hi($event)">click me</button> <div modal el="clickedElement"></div>
angular.module('Test',[]) .controller('Foo', function ($scope, $element) { $scope.blueBg = false; $scope.hi = function (ev) { $scope.blueBg = true; $scope.clickedElement = angular.element(ev.srcElement); } }) .directive('modal', function() { return { link: function(scope, element, attrs) { scope.$watch(attrs.el, function(value) { if(value !== undefined) { console.log('element=',value); ...
fiddle
Mark rajcok
source share