一尘不染

等效于AngularJS的jQuery触发器

angularjs

我在我的项目中使用AngularJS,但我不想包含jQuery。我想在AngularJS中执行与此等效的jQuery

$('.someclass').trigger('create');

我在互联网上搜索,但找不到。


阅读 161

收藏
2020-07-04

共1个答案

一尘不染

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

角jqLit​​e

对于您的方案:

$在angularJS中不起作用,angular.element等效于$。但是jqLit​​e的限制非常有限,不支持“按ID选择器”,这意味着您不能angular.element像按类或ID那样简单地选择元素

var element = angular.element('#foo')

您必须使用以下内容

var element = angular.element(document.querySelector('#foo'))

您可能会问:“为什么不使用document.getElementById(’#foo’)?”
但是请记住,我们正在使用jqLit​​e,因此必须使用angular.element才能在元素上使用jqLit​​e方法。

您可以使用.triggerHandler()代替.trigger()jQuery
TriggerHandler文档

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

element.ready(function() {
    console.log('Click');
});
2020-07-04