AngularJS中的jQuery触发器等价物

Abh*_*rni 9 javascript jquery angularjs

我在我的项目中使用AngularJS,我不想包含jQuery.我想在AngularJS中执行相当于jQuery的jQuery

$('.someclass').trigger('create');
Run Code Online (Sandbox Code Playgroud)

我在网上搜索但找不到一个.

Din*_*esh 6

AngularJS内置了jqLit​​e.请参阅文档以查看可用的方法

Angular jqLit​​e

对于您的场景:

$不会在angularJS中工作,angular.element相当于$.但是jqLit​​e非常有限,不支持"id by selectors",这意味着你不能简单地用来angular.element按类或id来选择元素

var element = angular.element('#foo')
Run Code Online (Sandbox Code Playgroud)

你必须使用以下

var element = angular.element(document.querySelector('#foo'))
Run Code Online (Sandbox Code Playgroud)

你可能会问,"为什么不使用document.getElementById('#foo')?" 但请记住我们正在使用jqLit​​e,所以我们必须使用angular.element才能在元素上使用jqLit​​e方法.

你可以用.triggerHandler()而不是.trigger().jQuery triggerHandler docs

jqLit​​e不支持click().解决方法是使用.ready()

element.ready(function() {
    console.log('Click');
});
Run Code Online (Sandbox Code Playgroud)