angularjs - 单击按钮时保持对输入的关注

时间:2015-11-17 10:25:28

标签: javascript jquery html angularjs

我点击一个按钮时试图将注意力集中在textarea上。

<input type="text" ng-model="myText" id = "area1" ></input>

我的按钮是由模板在指令中动态生成的,

 <my-buttons > </my-buttons>

app.directive('myButtons', function () {
    return {
        restrict: "E",
        templateUrl: "templates/buttons.html"
        link: function ($scope) {}
    };
});

模板

<div>
    <div>
        <div ng-click="submitResult();">
            <div ng-style="color:red"> <span>OK</span>
            </div>
        </div>
    </div>
</div>

当我点击提交时,它会从输入中删除焦点,但我希望焦点保持在输入的位置。我知道我们可以通过

来设定焦点
document.getElementById("id").focus();

我是否必须向myButtons指令添加属性并传递输入的id,或者angularjs中还有其他任何解决方法。页面上可以有很多这样的输入和按钮。

2 个答案:

答案 0 :(得分:3)

即使另一个控件需要对焦,也没有角度方法来告诉元素不要失焦。您需要通过手动处理blur事件来自己实现此功能。

答案 1 :(得分:1)

按照查理的回答,并作为获得你想做的事情的建议,试着跟踪目前关注的人。单击按钮时,将焦点返回到上次聚焦的元素。