AngularJS中的jQuery触发器等价物

时间:2014-07-08 10:22:58

标签: javascript jquery angularjs

我在我的项目中使用AngularJS,我不想包含jQuery。 我想在AngularJS

中执行相当于jQuery的jQuery
$('.someclass').trigger('create');

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

1 个答案:

答案 0 :(得分:6)

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

Angular jqLite

针对您的方案:

$无法在angularJS中使用,angular.element相当于$。 但jqLit​​e非常有限,不支持“id by selectors”,这意味着你不能简单地使用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 docs

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

element.ready(function() {
    console.log('Click');
});