2012-12-09 2 views
2

이 좋아, 그래서 내가 필요한 것은 텍스트 영역 요소에서 발생한 이벤트의 키 (어떤 또는를 keyDown를) 전달하는 방법이며, 내가 무엇을 시도한 것은 이것이다 :AngularUI ui-keypress for any buttons?

<div id="wrapper" ng-controller="MyTestCtrl"> 
    <div id="text" ng-click="DivClick()"> 
     <ul> 
      <li ng-repeat="item in items"> 
       <textarea ng-click="InnerClick()" ui-keypress="TextKeypress()" autofocus></textarea> 
      </li> 
     </ul> 
    </div> 
</div> 

하지만 것 같다 재미 있고 나는 특정 키 코드를 사용하지 않으려합니다. 사용자가 텍스트를 입력 할 때마다 Textarea의 높이를 업데이트해야하기 때문입니다 (TextKeypress 함수가 수행하는 작업).

답변

4

당신은 사용할 수 의 UIEvent : <textarea ui-event=" { keypress: 'whatever($event)' } ">

UPDATE :

가 핵심 지금 ng-keypress 너무 포함! (어떤 버전인지 모르겠 음)

1

좋아, 필자는 필자의 요구에 맞는 사용자 지정 지시문을 작성하여이를 극복하고 'keypress'를 사용하여 해당 지시문을 바인딩했습니다. 이런 식으로 뭔가 :

.directive('mydKeypress', function(){ 
    return function(scope, elm, attrs){ 
     elm.bind('keypress', function(e){ 
      //Whatever code; 
      alert('it bloody works!'); 
     }); 
    }; 
});