在angularjs中必须加载jquery吗?
我试图在angularjs中使用jquery操作dom;按照 如果jQuery可用,angular.element是jQuery函数的别名。 如果jQuery不可用,angular.element将委托给angular的内置jQuery子集,称为“jQuery lite”或“jqLite” 我有两个链接,一个工作,一个出错。在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的一个子集
需要一些关于如何在不对外声明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逻辑-我会尝试将其写入指令