2013-10-01 5 views
0

화살표 키 이벤트를 문서에 바인드하려고했지만 각도가 맞지 않습니다. 코드 :ng-keydown이 각도로 작동하지 않습니다.

function CubeCtrl($scope, $locale) { 

$scope.click = function(){ 
    alert("click") 
} 
$scope.keydown = function(){ 
    alert("keydown") 
} 

}

HTML : 여기

<body ng-app ng-controller="CubeCtrl" ng-click="click()" ng-keydown="keydown()"> 

과는 ngKeydown 지시어는 버전 1.1.1에서 지원하지 않는 jsfiddle

+0

이미 릴리스 후보 인 Angularjs의 불안정한 버전에서 잘 작동합니다. http://jsfiddle.net/ranru/sYAwC/2/ 여기에 당신의 바이올린이 있습니다. – kubuntu

답변

1

아마도 Angular 버전 문제 일 수 있습니다.

당신이 솔루션 chcek 수

:

지침 :

var mod = angular.module('mydirectives'); 
mod.directive('ngKeydown', function() { 
    return { 
     restrict: 'A', 
     link: function(scope, elem, attrs) { 
      // this next line will convert the string 
      // function name into an actual function 
      var functionToCall = scope.$eval(attrs.ngKeydown); 
      elem.on('keydown', function(e){ 
        // on the keydown event, call my function 
        // and pass it the keycode of the key 
        // that was pressed 
        // ex: if ENTER was pressed, e.which == 13 
        functionToCall(e.which); 
      }); 
     } 
    }; 
}); 

HTML

<input type="text" ng-keydown="onKeydown"> 
UI Utils

또는 가장 좋은 방법은이 이벤트에 대한 자신의 지시를 작성하는 것입니다

0

입니다. 이 지시어를 사용하기 위해서는 최소한 버전 1.1.2를 사용해야합니다.

관련 문제