2017-04-06 3 views
0

Ich möchte Klickfunktionen an diese Listenelemente in dieser eckigen Direktive binden, aber ich habe keine Idee, wie dies zu tun ist ... Element-Links zum ganzen div, aber wie man einen Klick-Listener für all diese Listenelemente erstellt ...?AngularJS - Wie verbinde ich Klickfunktionen mit Kindelementen

app.directive('paginaLijst', function() { 
    return { 
    templateUrl: 'js/templates/paginas.html', 
    restrict: 'AE', 
    replace: true, 
    link: function($scope, element, attrs) { 

     element.bind('mouseenter', function() { 
      element.css('background-color', 'yellow'); 
     }); 
     element.bind('mouseleave', function() { 
      element.css('background-color', 'white'); 
     }); 
    } 
}; 
}); 

und die diese Vorlage zu diesem Selektor

<div ng-class="colSizeList" class="beheer a-show-hide" id="opdrachten" ng-hide="opdActive"> 
<h4>Beheer opdrachten</h4> 
<ul class="list-group"> 
<li class='list-group-item opdracht' ng-class="{ 'active': $index == selectedIndex }" ng-repeat="opdracht in opdrachten"> 
     <a href="#"> 
       <span>{{opdracht.vak}}</span> 
       <small>{{opdracht.titel}}</small> 
     </a> 
</li> 
</ul> 
</div> 
+0

Ich möchte nicht aber auf Klick schweben ... Wie ich im Hauptpost sagte. –

+0

http://stackoverflow.com/questions/27656721/bind-event-to-child-element-of-directive-in-link-function –

+2

Warum willst du es in der Link-Funktion tun, anstatt eine einfache ng -klicken ? – Groben

Antwort

0

Änderung:

element.find('li').bind(...) 

.find() jqLite Verfahren so Lookup tagName beschränkt ist, müssen Sie das Zielelement tagname setzen.

+2

Dies ist kein eckiger Weg. – Nitheesh

+1

@Nitheesh hast du von jqLite gehört? [jqLite] (https://docs.angularjs.org/api/ng/function/angular.element) – Jai