클릭 이벤트가 두 번 호출되는 문제가 있습니다. 내가 무엇을 놓치고 있는지 확실하지 않지만이 지시문을 응용 프로그램에 한 번만 포함 시켰습니다. 하나의 요소에만 지시문을 추가하려고 시도했지만 호출은 여전히 두 번 발생합니다.클릭 이벤트가있는 각도 지시문이 두 번 호출됩니다.
코드를 살펴보고 내가 누락 된 부분을 알려주시겠습니까? 클릭 기능 내부
angular.module('mymodule', [])
.directive('mydirective', function() {
return {
restrict: 'AE',
link: function ($scope, $element, $attrs) {
$element.children().bind('click', function() {
console.log("test" + this);
if ($element.hasClass('active')) {
$element.removeClass('active');
return;
} else if (!$element.hasClass('active')) {
$element.addClass('active');
return;
}
});
}
}
});
'$ element.toggleClass ('active'); 당신의 모든 조건을 위해 거기에 돌아 오십시오. 왜 더블 클릭이 일어나고 있는지 잘 모르겠다 ...'event.stopPropagation(); '시도해보십시오 –
클릭 이벤트를 자식이 아닌 부모 요소에 추가해보십시오. 예를 들어 $ element.parent()를 시도해보십시오. bind ('click ', function() ... –