从ng-click调用$ event上的JQuery函数

时间:2015-04-30 09:25:31

标签: javascript jquery angularjs

我有div ng-click我在其中调用以下函数:

$scope.toggleLog = function($event){
     $event.currentTarget.slideToggle()
 }

当我查看调试器时$event.currentTarget指向我的div,所以看起来很好。但是,slideToggle()函数未定义。我已经包含了JQuery。 $event是一个jquery对象,currentTarget也是如此。那么为什么我无法调用任何与JQuery相关的函数呢?

2 个答案:

答案 0 :(得分:4)

而不是这一行

$event.currentTarget.slideToggle()

尝试使用这种方式,

angular.element($event.currentTarget).slideToggle();

angular.element是angularjs

中jQuery的别名
  

如果jQuery可用,angular.element是jQuery的别名   功能。如果jQuery不可用,则angular.element委托给   Angular的内置jQuery子集,名为" jQuery lite"或" jqLit​​e。"

答案 1 :(得分:1)

$event.currentTarget指向DOM元素,而不是jQuery对象。将其包装在jQuery中,然后调用slideToggle

$($event.currentTarget).slideToggle();