프로그래밍 언어/HTML,CSS,JS

AngularJS에서 키 누르기 이벤트를 사용하는 방법

Rateye 2021. 6. 7. 08:26
728x90
반응형
질문 : AngularJS에서 키 누르기 이벤트를 사용하는 방법은 무엇입니까?

아래 텍스트 상자에서 Enter 키 누르기 이벤트를 포착하고 싶습니다. 더 명확하게하기 위해 ng-repeat 를 사용하여 tbody를 채 웁니다. 다음은 HTML입니다.

<td><input type="number" id="closeqty{{$index}}" class="pagination-right closefield" 
    data-ng-model="closeqtymodel" data-ng-change="change($index)" required placeholder="{{item.closeMeasure}}" /></td>

이것은 내 모듈입니다.

angular.module('components', ['ngResource']); 

리소스를 사용하여 테이블을 채우고 있으며 컨트롤러 코드는 다음과 같습니다.

function Ajaxy($scope, $resource) {
//controller which has resource to populate the table 
}
답변

다음과 같이 directive 을 추가해야합니다.

자바 스크립트 :

app.directive('myEnter', function () {
    return function (scope, element, attrs) {
        element.bind("keydown keypress", function (event) {
            if(event.which === 13) {
                scope.$apply(function (){
                    scope.$eval(attrs.myEnter);
                });

                event.preventDefault();
            }
        });
    };
});

HTML :

<div ng-app="" ng-controller="MainCtrl">
    <input type="text" my-enter="doSomething()">    
</div>
출처 : https://stackoverflow.com/questions/17470790/how-to-use-a-keypress-event-in-angularjs
728x90
반응형