1. ホーム
  2. angularjs

[解決済み] AngularJSでkeypressイベントを使用するには?

2022-02-07 04:12:11

質問内容

下のテキストボックスのエンターキー押下イベントをキャッチしたいのですが、どうすればいいですか?より明確にするために、私は 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>