AngularJs: 如何在文本框中输入文本后按tab键调用angularjs函数?

AngularJs: How to call the angularjs function by Pressing tab button after entering text in the text box?

我想知道如何通过按 Tab 按钮调用 angularjs 函数?

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    
    
  
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>

</div>

如何使用 angularJs 调用函数,然后按 firstName 并单击选项卡按钮。因为我是 angularJs 的新手,我知道 ng-click、ng-change,但我对此一无所知。

请有人帮助我。

提前致谢

你可以使用 ngBlur.

但是,如果您在输入框外单击以及跳出,它将 运行 函数。

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
      
    $scope.tabbedout = function(val) {
      console.log("tabbedout: " + val);
    }
  
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName" ng-blur="tabbedout(firstName)"><br>
Last Name: <input type="text" ng-model="lastName" ng-blur="tabbedout(lastName)"><br>

</div>

你说点击一个按钮,但我假设你想处理标签 keydown/keyup 事件,因为没有标签按钮可以点击。

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    var _this = this;
    _this.firstName = '';
    _this.handleKeyDown = function($event) {
        if ($event.which == 9)
            alert('tab was pressed! Current value is: ' + _this.firstName);
    }

});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl as vm">

First Name: <input type="text" ng-model="vm.firstName" ng-keydown="vm.handleKeyDown($event)"><br>

</div>