当两个文本字段之间更改光标时,Angularjs会发出警报

时间:2014-12-22 14:18:52

标签: javascript jquery angularjs onchange

我有两个文本字段,在完成输入一些文本后,将光标从一个字段移动到另一个字段时,我想要提醒。如何在角度JS中实现它?我尝试了ng-change但是当我在第一个字段中输入第二个字母时它会变得警觉。

HTML:

               <div class="input-group">
                    <span class="input-group-addon"><span class=" "></span><span
                        class="input-text">Number of Working Days</span></span> <input
                        type="text" class="form-control " id="workingDays"
                        ng-model="workingDays" ng-change="updateDays();" />
                </div>

JS:

$scope.updateDays = function() {
alert('Got an alert');
};

在这里,我想根据输入的日期后更新行,但是当我输入第二个数字时,我会收到。

谢谢.. 任何参考链接或评论将不胜感激。

3 个答案:

答案 0 :(得分:3)

如果我正确理解了您想要的内容,那么您可以使用ngBlur指令。

这是JSFiddle的例子。

<div ng-controller="MyCtrl">
  <span> field 1</span> 
  <input type="text" ng-model="field1" ng-blur="leftCursor()">

  <span> field 1</span> 
  <input type="text" ng-model="field2">
</div>

myApp.controller('MyCtrl', function ($scope) {
    $scope.leftCursor = function(){
        alert('Cursor has left current field!');
    };
});

答案 1 :(得分:1)

您正在寻找ng-blur,而不是ng-change

  

当元素失去焦点时会触发blur事件。   这个事件和焦点之间的主要区别在于只有后者才会出现泡沫。

(来源:https://developer.mozilla.org/en-US/docs/Web/Events/blur

由于您希望在用户从第一个字段移动到第二个字段时发出警报,因此您需要将ng-blur附加到第一个字段,以便在第二个字段获得焦点之前触发。

答案 2 :(得分:1)

根据你想做的事情

当光标位于元素上时

ng-mouseover

ng-focus当元素具有焦点时(当您点击输入时它会获得焦点)

ng-blur当元素失去焦点时(当你点击其他元素时,焦点会失去焦点并触发模糊事件)

根据您的描述,您似乎需要使用ng-blur并在输入失去焦点时验证值。