我编写了以下几行来将焦点添加到 Angular js 中的输入元素上:
angular.element(document.getElementById("chatinput")).focus();
但无法正常工作并出现错误:
angular.element(...).focus is not a function
最佳答案
"jqLite" library Angular 中包含的 angular.element()
不包含 .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>
或者,从 getElementById()
返回的 Element
has its own .focus()
method您可以在不使用 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();
关于javascript - 焦点在 angularJS 中不起作用。 angular.element(...).focus 不是一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41820603/