ฉันมีรายการสิ่งของในมุมมองของฉันพร้อมng-click
แนบไว้กับพวกเขา:
<ul id="team-filters">
<li ng-click="foo($event, team)" ng-repeat="team in teams">
<img src="{{team.logoSmall}}" alt="{{team.name}}" title="{{team.name}}">
</li>
</ul>
ฉันกำลังจัดการกับเหตุการณ์การคลิกในfoo
ฟังก์ชั่นในคำสั่งของฉันผ่าน$event
การอ้างอิงไปยังวัตถุที่ถูกคลิก แต่ฉันได้รับการอ้างอิงถึงimg
แท็กไม่ใช่li
แท็ก ฉันต้องทำสิ่งนี้เพื่อรับli
:
$scope.foo = function($event, team) {
var el = (function(){
if ($event.target.nodeName === 'IMG') {
return angular.element($event.target).parent(); // get li
} else {
return angular.element($event.target); // is li
}
})();
มีวิธีง่ายๆในการรับการอ้างอิงองค์ประกอบที่ng-click
ถูกผูกไว้โดยไม่ต้องดำเนินการ DOM ในคำสั่งของฉัน