我在我的项目中使用AngularJS,但我不想包含jQuery。我想在AngularJS中执行与此等效的jQuery
$('.someclass').trigger('create');
我在互联网上搜索,但找不到。
AngularJS内置了jqLite。请参阅文档以查看可用方法
角jqLite
对于您的方案:
$在angularJS中不起作用,angular.element等效于$。但是jqLite的限制非常有限,不支持“按ID选择器”,这意味着您不能angular.element像按类或ID那样简单地选择元素
$
angular.element
var element = angular.element('#foo')
您必须使用以下内容
var element = angular.element(document.querySelector('#foo'))
您可能会问:“为什么不使用document.getElementById(’#foo’)?” 但是请记住,我们正在使用jqLite,因此必须使用angular.element才能在元素上使用jqLite方法。
您可以使用.triggerHandler()代替.trigger()。jQuery TriggerHandler文档
.triggerHandler()
.trigger()
jqLite不支持click()。解决方法是使用.ready()
click()
.ready()
element.ready(function() { console.log('Click'); });