Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在angularjs中必须加载jquery吗?_Angularjs - Fatal编程技术网

在angularjs中必须加载jquery吗?

在angularjs中必须加载jquery吗?,angularjs,Angularjs,我试图在angularjs中使用jquery操作dom;按照 如果jQuery可用,angular.element是jQuery函数的别名。 如果jQuery不可用,angular.element将委托给angular的内置jQuery子集,称为“jQuery lite”或“jqLite” 我有两个链接,一个工作,一个出错。 需要一些关于如何在不对外声明jquery的情况下实现此功能的建议吗?我认为Angular的jQlite不支持.focus()快捷方式-jQlite只是jquery的一个子集

我试图在angularjs中使用jquery操作dom;按照

如果jQuery可用,angular.element是jQuery函数的别名。 如果jQuery不可用,angular.element将委托给angular的内置jQuery子集,称为“jQuery lite”或“jqLite”

我有两个链接,一个工作,一个出错。
需要一些关于如何在不对外声明jquery的情况下实现此功能的建议吗?

我认为Angular的jQlite不支持.focus()快捷方式-jQlite只是jquery的一个子集请参阅jQlite方法列表

您需要对元素[0]调用focus。根据这个stackoverflow答案,您可以阅读jqLite提供的方法。 在这种情况下,你可以这样写

var app = angular.module("myapp", []);

app.controller('myappCtrl', function($scope,$timeout) {

  $timeout(function() {
    document.getElementById('number').focus()
  }, 1);

 angular.element(document.getElementById('focusguard-2')).on('focus', function() {
    document.getElementById('number').focus();
  });

  angular.element(document.getElementById('focusguard-1')).on('focus', function() {
    document.getElementById('cancel').focus()
  });

});

如果你在使用JQuery功能,你需要加载它。不确定你在这里要问的到底是什么?@ivarni:我不想加载JQuery;Angular有内置的子集jqLite,我们不能利用它并让它工作吗?如果你要使用id为的选择器,就不能。你是在问如何在不使用JQuery的情况下设置元素的焦点吗?
使用jquery会抛出错误
准确地说是什么错误?请看一下,看看其中的一些答案是否有用。我会尽量避免在控制器中执行任何UI逻辑-我会尝试将其写入指令