반응형
ng-click에서 원본 요소 가져 오기
뷰에 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 작업을 수행하지 않고 바인딩 된 요소에 대한 참조를 얻는 간단한 방법이 있습니까?
$event.currentTarget
대신에 필요 합니다 $event.target
.
이 질문에 대한 직접적인 대답이 아니라 "문제"에 대한 대답은 $event.currentTarget
분명히 null로 설정됩니다.
console.log가 호출 된 상태가 아니라 마지막 실행 상태에서 console.log가 변경 가능한 깊은 오브젝트를 표시하기 때문입니다.
자세한 내용은이를 확인할 수 있습니다. console.log에 대한 연속 호출로 일관성없는 결과가 생성됩니다.
참고 URL : https://stackoverflow.com/questions/23107613/get-original-element-from-ng-click
반응형
'Programing' 카테고리의 다른 글
jq를 사용하여 내부 배열의 값을 기반으로 객체 배열을 필터링하는 방법은 무엇입니까? (0) | 2020.05.10 |
---|---|
JWT를위한 최고의 HTTP 인증 헤더 유형 (0) | 2020.05.10 |
웹 사이트에서 IE9가 호환 모드로 전환되는 이유는 무엇입니까? (0) | 2020.05.10 |
AngularJS 컨트롤러가 동일한 모듈의 다른 컨트롤러에서 상속 할 수 있습니까? (0) | 2020.05.10 |
java.lang.Thread.interrupt ()는 무엇을합니까? (0) | 2020.05.10 |