我在我的项目中使用AngularJS,我不想包含jQuery。 我想在AngularJS
中执行相当于jQuery的jQuery$('.someclass').trigger('create');
我在互联网上搜索但找不到。
答案 0 :(得分:6)
AngularJS内置了jqLite。请参阅文档以查看可用的方法
针对您的方案:
$
无法在angularJS中使用,angular.element
相当于$
。
但jqLite非常有限,不支持“id by selectors”,这意味着你不能简单地使用angular.element
按类或id选择元素,如
var element = angular.element('#foo')
你必须使用以下
var element = angular.element(document.querySelector('#foo'))
您可能会问,“为什么不使用document.getElementById('#foo')?”但请记住我们正在使用jqLite,因此我们必须使用angular.element
才能在元素上使用jqLite方法。
您可以使用.triggerHandler()
代替.trigger()
。 jQuery triggerHandler docs
jqLite不支持click()
。解决方法是使用.ready()
element.ready(function() {
console.log('Click');
});