나는 요소가 보이면 경고를 표시하기 위해 희미한 $watch
을 사용하고 있습니다.요소의 각도보기가 작동하지 않습니다.
var scrollElement = "#hiddenObj";
$scope.$watch(function() { return $(scrollElement).is(':visible') }, function() {
alert('hi);
});
문제는 경고, 요소가 기본적으로 숨겨져 있지만 페이지로드에 페이지로드에 표시되며, 일부 링크의 클릭에 표시되어 있습니다.
그냥 내 가정을 확인하기
은, 난 그냥이 코드 전에 브레이크 포인트를 넣어, 내 콘솔에서이 코드를 실행 :$(scrollElement).is(':visible')
을하고 false
을 반환합니다. 즉, 요소가 페이지로드시 보이지 않습니다. 왜 경고가 여전히 페이지로드에 표시되는지 모르겠습니다. 링크를 클릭하면 scrollElement
이 실제로 표시되며 아무런 반응이 없습니다.
내가 여기에없는 것이 있습니까?
당신은 통과해야'(인 oldval, 된 newval)'함수에 및 페이지로드에 그 첫번째 – Phil
@Phil 비교, 콘솔에서 확인 된 이전 값은'이다 '$ (scrollElement) .is (': visible')'표현식에 대해 'false'를 표시하지만, 요소가 표시되면 콘솔에 'true'가 표시됩니다. 이상적으로는 그 단계에서만 경고가 표시되어야합니다. 그 단계에서'watchExpression '이 변경되기 때문입니다. – anwartheravian