禁用所有输入,再次启用后,将焦点设置在下一个输入上

时间:2016-05-30 09:55:57

标签: javascript angularjs

我试图获取控制器中的当前/下一个项目。我想做什么来获得下一个元素并能够专注于它。我可以使用javascript执行此操作,但不确定如何在角度内获取event,因此我可以访问e.relatedTarget。我也愿意接受改进和建议

Plunker

<input type="text" class="input__text" name="name" ng-model="name" ng-change="bluryLines(name)" ng-model-options="{ updateOn: 'blur'}" ng-disabled="blured">

            function focusNextInput (e) {
                console.log('focusNextInput');

                var target = e.target;
                var relatedTarget = e.relatedTarget;

                if (relatedTarget !== null) {
                    console.log('has a related target');
                    relatedTarget.focus();
                }
            }

            $scope.bluryLines = function(value) {
                $scope.blured = true;

                if (value === '') {
                    console.log('value is empty');
                } else {
                    console.log(value);
                }

                $timeout(function() {
                    $scope.blured = false;

                    //how do I get the event here to be passed into the function
                    focusNextInput();
                }, 1000);
            };

1 个答案:

答案 0 :(得分:0)

你是否尝试过使用角度的$ event。

<input type="text" class="input__text" name="name" ng-model="name" ng-click='functionname($event)'>

的问候,
Selvam.M