다른 핸들러에서 angularjs 이벤트 핸들러를 어떻게 트리거 할 수 있습니까?

Aaron

AngularJS 1.3.0-beta.2, jQuery 2.1.0, Angular UI 0.11 및 사용자 지정 버전의 Angular UI의 도구 설명 위젯을 사용하고 있으며 클릭하면 도구 설명 내의 버튼이 도구 설명을 닫도록하고 싶습니다.

플 런커

핵심 부분은 crud_tooltip.js : 372에 있습니다.

  scope.closePopup = function() {
    var trigger = element.prev();
    if (scope.mode === 'timeout') {
      $timeout(function() {
        trigger.triggerHandler('click');
      });
    }
    else {
      trigger.triggerHandler('click');
    }
  };

$ timeout을 사용하는 버전은 작동하지만 버튼을 클릭하고 팝업이 닫히는 사이에 눈에 띄는 지연이 있습니다.

$ timeout을 사용하지 않는 버전은 [$ rootScope : inprog] $ apply already in progress 오류를 제공합니다 . 그런 다음 어쨌든 팝업을 닫습니다 ... 이유를 모르겠습니다.

closePopup (또는이를 호출하는 ng-click)을 수정하여 사용자가 툴팁 내의 버튼을 클릭 할 때 툴팁을 즉시 닫도록하려면 어떻게해야합니까?

참고 : 이 Plunker 를 지침으로 사용하여 Angular UI의 도구 설명 코드에서 custom_tooltip.js 코드를 수정 했습니다. 또한 tt_isOpen 값을 직접 변경하고 새로운 crudtooltip-toggle 속성을 정의 해 보았습니다. 둘 다 매우 제한적으로 성공했습니다.

길 버먼

요점을 놓치고있을 수도 있지만, 귀하의 코드는 이러한 단순한 기능을 위해 엄청나게 복잡하고 복잡해 보입니다. 어쨌든 지연은 실제로 $timeout일부 애니메이션이 완료되기를 기다리는에 기인합니다 . 시간 초과는 scope.tt_animation진실로 평가 되기 때문에 트리거 됩니다. 간단하게 줄에서 0으로 제한 시간을 변경하는 258crud_tooltip.js수정 문제. 이 플렁크 보기

문제 영역은 다음과 같습니다.

            if ( scope.tt_animation ) {
              transitionTimeout = $timeout(removeTooltip, 500);
            } else {
              removeTooltip();
            }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이벤트 핸들러 외부에서 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

Telerik MVC ClientTemplates에서 이벤트 핸들러를 어떻게 바인딩 할 수 있습니까?

분류에서Dev

이 코드를 이벤트 핸들러로 어떻게 다시 작성할 수 있습니까?

분류에서Dev

HTML 이벤트 핸들러에서 React를 호출 할 수 있습니까?

분류에서Dev

jQuery-자체 핸들러 내에서 이벤트를 트리거 할 수 있습니까?

분류에서Dev

Restify HTTP 핸들러에서 비동기 코드를 어떻게 테스트 할 수 있습니까?

분류에서Dev

GWT 이벤트 핸들러를 추가 할 수 없습니다.

분류에서Dev

이벤트 핸들러를 연결할 수 없습니다.

분류에서Dev

이벤트 핸들러에 인수를 어떻게 전달합니까?

분류에서Dev

핸들러 내부에서 이벤트 핸들러가 첨부 된 요소를 어떻게 얻습니까?

분류에서Dev

원격 이벤트 관리자에 로컬 이벤트 핸들러를 추가 할 수 있습니까?

분류에서Dev

GAE에서 한 핸들러에서 다른 핸들러로 여러 변수를 어떻게 전달합니까?

분류에서Dev

.NET에서 이벤트 핸들러 내부에서 try catch를 적용 할 수 있습니까?

분류에서Dev

jquery 이벤트 핸들러에서 mvc 모델을 어떻게 동적으로 가져올 수 있습니까?

분류에서Dev

다른 페이지에있는 모든 컨트롤의 이벤트 핸들러를 작성할 수 있습니까?

분류에서Dev

하이퍼 HTTP 서버 핸들러에서 HTTP 상태 코드를 어떻게 설정할 수 있습니까?

분류에서Dev

메인에서 초기화 된 변수를 Rocket 라우트 핸들러에 어떻게 전달할 수 있습니까?

분류에서Dev

소켓 이벤트 핸들러 함수에서 반응 상태에 액세스 할 수 없습니다.

분류에서Dev

이벤트 핸들러를 사용하여 상자 그림자의 색상을 어떻게 조작 할 수 있습니까?

분류에서Dev

Aframe 구성 요소는 이벤트 핸들러에서 el을 참조 할 수 없습니다.

분류에서Dev

GWT (또는 Java AWT Swing)에서 동일한 종류의 여러 객체에 동일한 기능을 수행하는 동일한 이벤트 핸들러를 어떻게 사용할 수 있습니까?

분류에서Dev

Express, NodeJS의 라우트 핸들러에서 호출 된 함수의 오류를 어떻게 처리합니까?

분류에서Dev

이벤트 핸들러를 시작할 때와 종료 할 때 한 번 뷰를 변경할 수 있습니까?

분류에서Dev

활성화 컨테이너가 traitsui 핸들러에서 다시 그리도록 강제 할 수 있습니까?

분류에서Dev

핸들러보다 낮은 수준의 인터페이스가 있습니까? 메모리 할당에 대한 더 많은 제어를 원합니다.

분류에서Dev

Java는 여러 버튼에서 이벤트 핸들러를 동적으로 깔끔하게 사용합니다.

분류에서Dev

'' '클래스에서'이벤트 핸들러 ''을 (를) 찾을 수 없음 오류가 발생했습니다.

분류에서Dev

AngularJS 이벤트 핸들러가 실행되지 않습니다.

분류에서Dev

-I 컴파일러 옵션은 어떻게 다른 경고 트리거를 유발할 수 있습니까?

Related 관련 기사

  1. 1

    이벤트 핸들러 외부에서 변수를 어떻게 사용할 수 있습니까?

  2. 2

    Telerik MVC ClientTemplates에서 이벤트 핸들러를 어떻게 바인딩 할 수 있습니까?

  3. 3

    이 코드를 이벤트 핸들러로 어떻게 다시 작성할 수 있습니까?

  4. 4

    HTML 이벤트 핸들러에서 React를 호출 할 수 있습니까?

  5. 5

    jQuery-자체 핸들러 내에서 이벤트를 트리거 할 수 있습니까?

  6. 6

    Restify HTTP 핸들러에서 비동기 코드를 어떻게 테스트 할 수 있습니까?

  7. 7

    GWT 이벤트 핸들러를 추가 할 수 없습니다.

  8. 8

    이벤트 핸들러를 연결할 수 없습니다.

  9. 9

    이벤트 핸들러에 인수를 어떻게 전달합니까?

  10. 10

    핸들러 내부에서 이벤트 핸들러가 첨부 된 요소를 어떻게 얻습니까?

  11. 11

    원격 이벤트 관리자에 로컬 이벤트 핸들러를 추가 할 수 있습니까?

  12. 12

    GAE에서 한 핸들러에서 다른 핸들러로 여러 변수를 어떻게 전달합니까?

  13. 13

    .NET에서 이벤트 핸들러 내부에서 try catch를 적용 할 수 있습니까?

  14. 14

    jquery 이벤트 핸들러에서 mvc 모델을 어떻게 동적으로 가져올 수 있습니까?

  15. 15

    다른 페이지에있는 모든 컨트롤의 이벤트 핸들러를 작성할 수 있습니까?

  16. 16

    하이퍼 HTTP 서버 핸들러에서 HTTP 상태 코드를 어떻게 설정할 수 있습니까?

  17. 17

    메인에서 초기화 된 변수를 Rocket 라우트 핸들러에 어떻게 전달할 수 있습니까?

  18. 18

    소켓 이벤트 핸들러 함수에서 반응 상태에 액세스 할 수 없습니다.

  19. 19

    이벤트 핸들러를 사용하여 상자 그림자의 색상을 어떻게 조작 할 수 있습니까?

  20. 20

    Aframe 구성 요소는 이벤트 핸들러에서 el을 참조 할 수 없습니다.

  21. 21

    GWT (또는 Java AWT Swing)에서 동일한 종류의 여러 객체에 동일한 기능을 수행하는 동일한 이벤트 핸들러를 어떻게 사용할 수 있습니까?

  22. 22

    Express, NodeJS의 라우트 핸들러에서 호출 된 함수의 오류를 어떻게 처리합니까?

  23. 23

    이벤트 핸들러를 시작할 때와 종료 할 때 한 번 뷰를 변경할 수 있습니까?

  24. 24

    활성화 컨테이너가 traitsui 핸들러에서 다시 그리도록 강제 할 수 있습니까?

  25. 25

    핸들러보다 낮은 수준의 인터페이스가 있습니까? 메모리 할당에 대한 더 많은 제어를 원합니다.

  26. 26

    Java는 여러 버튼에서 이벤트 핸들러를 동적으로 깔끔하게 사용합니다.

  27. 27

    '' '클래스에서'이벤트 핸들러 ''을 (를) 찾을 수 없음 오류가 발생했습니다.

  28. 28

    AngularJS 이벤트 핸들러가 실행되지 않습니다.

  29. 29

    -I 컴파일러 옵션은 어떻게 다른 경고 트리거를 유발할 수 있습니까?

뜨겁다태그

보관