通过id AngularJS设置焦点

时间:2016-11-16 10:52:27

标签: javascript jquery html angularjs angular-material

点击dest按钮后,焦点将转移到HTML中的另一个输入字段。我想将焦点放在当前输入字段上,除非用户点击另一个输入字段。那时我想将焦点移动到点击的输入字段。

+

目前我这样做:

<div layout="row" layout-align="center center">
    <md-input-container  class="md-block" flex="50">
        <input required id="circleTimeWordListEditText" type="text" placeholder="Words List" ng-model="circleTime.word"/>

        <div ng-messages="$error">
            <div ng-message="required">This is required.</div>
        </div>
    </md-input-container>
</div>

<div layout="row" layout-align="center center">
    <md-button class="md-raised md-primary" type="submit"
               ng-click="circleTime.onAddButtonClicked()">+
    </md-button>
</div>

我也试过了,但它给了我NOSEL错误。

document.getElementById('circleTimeWordListEditText').focus();

我也试过这个解决方案:

angular.element('circleTimeWordListEditText').focus();

但它也不起作用。

这个问题的推荐解决方案是什么?

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。这对我有用。我希望这也适合你!

function someFunction() 
{
var element = angular.element("#id here");
element.focus()
}

对您而言,以下内容可能有效:

function onAddButtonClicked() 
{
   var element = angular.element("#circleTimeWordListEditText");
   element.focus()
}

答案 1 :(得分:2)

我认为您可以使用以下代码段。

var myEl = document.getElementById('circleTimeWordListEditText');
var angularEl = angular.element(myEl);

angularEl.focus();