我有div
ng-click
我在其中调用以下函数:
$scope.toggleLog = function($event){
$event.currentTarget.slideToggle()
}
当我查看调试器时$event.currentTarget
指向我的div,所以看起来很好。但是,slideToggle()
函数未定义。我已经包含了JQuery。 $event
是一个jquery对象,currentTarget
也是如此。那么为什么我无法调用任何与JQuery相关的函数呢?
答案 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"或" jqLite。"
答案 1 :(得分:1)
$event.currentTarget
指向DOM元素,而不是jQuery对象。将其包装在jQuery中,然后调用slideToggle
。
$($event.currentTarget).slideToggle();