我编写了以下几行来将焦点添加到角度js中的输入元素:
angular.element(document.getElementById("chatinput")).focus();
但是没有给出错误:
angular.element(...).focus is not a function
答案 0 :(得分:3)
Angular for angular.element()
中包含的"jqLite" library并不包含.focus()
方法。
要使其可用,您必须在加载Angular和应用程序代码之前加载jQuery库。完成后,angular.element()
将成为jQuery的别名,而不是jqLite。
<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();