2016-07-07 4 views
1

私はAngularで、フォームの入力からEnterを押して関数を実行すると良い方法を見つけようとしています。私はstackoverflowの投稿でこれを見つけた:角、どのように入力を入力する関数を実行するヒット?

$(".input1").keyup(function (e) { 
     if (e.keyCode == 13) { 
      // Do something 
     } 
    }); 

しかし、私はそれを行うより良い方法があるのだろうかと思っています。

<input type="text" ng-model"whatever" ng-enter"submitAFunction()">   
+1

http://stackoverflow.com/questions/17470790/how-to-use-a-keypress-event-in-angularjs – chf

答えて

4

私はこのようなディレクティブを使用できますか?

<form ng-submit="myfunction()"> 
    <input ng-model="myvalue" type="text"> 
    <input type="submit" value="submit"> 
<form> 

ボタンをクリックするか、Enterキーを押すといつでも、ng-submitの機能を実行します。

https://docs.angularjs.org/api/ng/directive/ngSubmit

あなたはEnterキーを押すだけですできる例で見ることができます。

も入力は任意ででき提出

2

ngの提出を使用しないのはなぜ:あなたがこれを行うことができますHTMLで、その後

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

関連する問題