焦点不在angularJS中工作。 angular.element(...)。焦点不是一个函数?

时间:2017-01-24 05:25:31

标签: javascript angularjs

我编写了以下几行来将焦点添加到角度js中的输入元素:

angular.element(document.getElementById("chatinput")).focus();

但是没有给出错误:

angular.element(...).focus is not a function

1 个答案:

答案 0 :(得分:3)

Angular for angular.element()中包含的"jqLite" library并不包含.focus()方法。

要使其可用,您必须在加载Angular和应用程序代码之前加载jQuery库。完成后,angular.element()将成为jQuery的别名,而不是jqLit​​e。

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="/path/to/angular.js"></script>

或者,Element has its own .focus() method返回的getElementById(),您可以在不使用angular.element()的情况下致电:

document.getElementById("chatinput").focus();

// though, you may want to check that it's found first
var chatinput = document.getElementById("chatinput");
if (chatinput) chatinput.focus();