2016-08-09 16 views
0

Ich benutze angleJS und ich möchte die Funktion aufrufen, wenn die Maus in der Optionsliste wechselt. Ich versuchte ng-mouseover="changeProjectColor(t)", aber es funktioniert nicht für mich.AngularJs ng-mouseover arbeitet nicht in Option Tags

<select id="select-tamplete" ng-model="tamplete"> 
    <option ng-repeat="t in tampletes" ng-mouseover="changeProjectColor(t)" ng-value="t">{{t.name}}</option> 
</select> 

Controller:

app.controller('ControlBoxCtrl',function($scope, adminSer, $log){ 

     $scope.adminSer = adminSer; 

     $scope.tampletes = [ 
          {name:"gray",colorClass:"gray"}, 
          {name:"green",colorClass:"green"}, 
          {name:"yellow",colorClass:"yellow"}, 
          {name:"blue",colorClass:"blue"}, 
          {name:"purple",colorClass:"purple"}, 
          {name:"red",colorClass:"red"}, 
          {name:"amber-light",colorClass:"amber-light"}, 
          {name:"teal",colorClass:"teal"} 
          ]; 

     $scope.changeProjectColor = function(){ 
      $log.debug("change color"); 
     } 



    }); 

enter image description here

+0

funktioniert nicht? es wird nicht angerufen? – levi

+0

ja passiert nichts, wenn über auf verschiedenen Farben –

Antwort

1

Sie können nicht anhängen ng-Mouseover, ng geklickt haben, ng-mousemove- Ereignisse mit Optionsliste. Sie können dies mit dem Element select tun, da Ereignisse nur an Elemente und nicht an Optionen angehängt werden können. Verwenden Sie besser das ng-change-Ereignis mit selectbox, um Ihre Anforderung zu erfüllen.

<select id="select-tamplete" ng-model="tamplete" ng-options="t.name for t in tampletes" ng-change="changeProjectColor(tamplete)"> 

</select>