0

를 사용하여 팝업을 표시합니다.는 어떻게 지시를</p> <p>HTML 코드를 사용하여 팝업을 표시하려는 AngularJS와 사용자에게 지시

내가 "안녕하세요"유혹에

link: function (scope, elm, attr, ngModel) { 
    elm.attr('tooltip', 'abc'); 
    $compile(elm)($rootScope); 
} 

link: function (scope, el, attr, ngModel) { 
    el.attr('tooltip', 'abc'); 
    var fn = $compile(el); 
     return function(scope){ 
      fn(scope); 
    } 
} 

다음 시도, 나는 팝업 표시 할. 위의 두 코드는 작동하지 않습니다. 당신의 코드에 의해 발생하는 문제에 대한 질문을 할 때 감사

+0

을 수행 할 수 있습니다 당신은 코드 명에 사용할 수 있습니다 제공하는 경우, 당신은 더 나은 해답을 얻을 것이다 문제를 재현하십시오. [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (https://stackoverflow.com/help/mcve)을 참조하십시오. – georgeawg

+0

[AngularUI Team] (https://angular-ui.github.io/)의 [uib-tooltip] (https://angular-ui.github.io/bootstrap/#!#tooltip) 지시문을 사용해보십시오. – georgeawg

답변

0

NG-transclude 트릭

angular.module('transcludeExample', []) 
.directive('pane', function(){ 
     return { 
     restrict: 'A', 
     transclude: true, 
     scope: { title:'@' }, 
     template: '<div style="border: 1px solid black;">' + 
        '<div ng-if="showTooltip" style="background-color: gray">tooltip</div>' + 
        '<ng-transclude></ng-transclude>' + 
        '</div>', 
     link: function(scope, element) { 
      element.bind('mouseenter', function(e) { 
      scope.$apply(function() { 
       scope.showTooltip = true; 
      }) 
      }); 
      element.bind('mouseleave', function(e) { 
      scope.$apply(function() { 
       scope.showTooltip = false; 
      }) 
      }); 

     }, 
     }; 
    }); 

codepen demo

+0

안녕하세요, 고마워요.하지만 div를 추가하고 싶지 않습니다. 동일한 div에 툴팁을 삽입하고 싶습니다. –

+0

요소 (예 : ) 하나, 툴팁 (div/span ... 뭐든) 하나, 둘 다에 대한 래퍼 등 3 개의 "상자"가 필요합니다. 당신이 무엇을 부르는지는 중요하지 않습니다. –