【发布时间】:2014-07-08 10:22:58
【问题描述】:
我在我的项目中使用 AngularJS,我不想包含 jQuery。 我想在 AngularJS 中执行 jQuery 等价的操作
$('.someclass').trigger('create');
我在互联网上搜索但找不到。
【问题讨论】:
标签: javascript jquery angularjs
我在我的项目中使用 AngularJS,我不想包含 jQuery。 我想在 AngularJS 中执行 jQuery 等价的操作
$('.someclass').trigger('create');
我在互联网上搜索但找不到。
【问题讨论】:
标签: javascript jquery angularjs
AngularJS 内置了 jqLite。请参阅文档以查看可用的方法
对于您的场景:
$ 在 angularJS 中不起作用,angular.element 相当于 $。
但是 jqLite 非常有限,不支持“按 id 选择器”,这意味着您不能简单地使用 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');
});
【讨论】: