angular 获取 ng-click 所在元素对象的问题

2025-04-16 06:04:19
推荐回答(4个)
回答1:

首先,确实是可以通过$event.target参数来拿对象的,拿到的对象可像操作jquery元素一样操作,所以子集、父级、同级都可以随意转换。


但是,并不推荐这种做法,angular存在的目的就是避免对dom元素的直接操作,你的这个需求,推荐考虑一下办法实现:


  1. data-str里面的东西写到ngClick参数中,如

    ,这样fun()直接获取到abc参数,简单明了,可读性和可维护性也更强;

  2. 封装一个directive,通过link(scope, element, attrs)获取data-str参数,同时亦可以对dom直接进行操作,可定制性更强,适合高级需求,但至少我从题主的例子里面看不出。

回答2:

只需要在函数参数中传入$event参数,在函数中使用$event.target就可以获取到了。

具体方法:

[javascript] view plain copy

 

[javascript] view plain copy

$scope.switchCheckBox = function($event, value) {  

// console.log(value)  

if (value) {  

$($event.target).addClass("checked");  

} else {  

$($event.target).removeClass("checked");  

}  

}  

回答3:

$event.target.parent

回答4:

$event.currentTarget能解决