ng-click后,Angularjs会将焦点集中在一个字段上?

时间:2014-12-15 15:59:17

标签: javascript angularjs mobile

我尝试弄清楚如何在点击按钮后将焦点保持在angularjs的输入字段上。

我的目标是在点击+按钮后阻止我的手机隐藏他的键盘。我想继续关注输入choice。 像这样,用户可以添加新选项,而无需再次单击我的输入。

<div id="demo" ng-app="Foobar">
    <div ng-controller="DemoCtrl">
        <input type="text" ng-model="title" placeholder="title" />
        <input type="text" ng-model="choice" placeholder="choice" />
        <button ng-click="addChoice(choice)">+</button>
        {{choices}}
    </div>
</div>
 angular.module('Foobar', [])
.controller('DemoCtrl', ['$scope', function ($scope) {
    $scope.choices = [];

    $scope.addChoice = function (choice) {
        $scope.choices.push(choice);
    };
}]);

http://jsfiddle.net/gbg09bto/

最佳策略是什么? (指令,ng-focus)

1 个答案:

答案 0 :(得分:4)

最简单的事情是通过简单的javascript

来做到这一点

做到这一点

在html中//放置id属性

<input type="text" id="choice" ng-model="choice" placeholder="choice" />
控制器功能

中的

$scope.addChoice = function (choice) {
    $scope.choices.push(choice);
    document.getElementById("choice").focus(); // get the element by id & focus the input
};

这是更新后的Fiddle