0

내가 입력 요소에 키 누름을 입력 듣고 다음 지시문을 사용하고 있습니다 : 예상대로키 누르기 이벤트로 각도 UI 툴팁이 엉망이됩니까?

.directive('ngEnter', function() { 
    return function (scope, element, attrs) { 
     element.bind("keypress", function (event) { 
      if(event.which === 13) { 
       scope.$apply(function(){ 
        scope.$eval(attrs.ngEnter); 
       }); 

       event.preventDefault(); 
      } 
     }); 
    }; 
}) 

이 작동합니다. 입력 요소에 툴팁 지시문을 추가하면 위 지시문이 더 이상 작동하지 않습니다. 이 문제를 해결할 수있는 방법이 있습니까?

UPDATE

는 bingjie2680의 제안 후 나는 NG-의 키와 NG-를 keyDown을 사용하려고하지만 또 다른 문제를 만났다. 위의 지시문은 동일한 요소의 ng-model 지시문에 영향을 미치는 것 같습니다. 모델이 정의되지 않게됩니다. 여기에 입력 태그입니다 :

<input type="text" placeholder="tags" 
     tooltip="tooltip text here" 
     tooltip-placeent="top" 
     tooltip-trigger="focus" 
     ng-model="currentTag" ng-keydown="addTag($event)" /> 

는 그리고 여기 addTag의 관련 부분입니다 :

$scope.addTag = function($event) { 
     if ($event.keyCode !== 13) return; 

     console.log($scope.currentTag);  <-- currentTag is undefined here 
     ... 
    } 

왜 모델이 정의되지지고? 툴팁 지시어를 포함하지 않으면 모든 것이 잘 작동합니다.

+0

툴팁 지침이 필요한 이유는 무엇입니까? 부트 스트랩에는'tooltip' 속성이 있습니다. –

+0

글쎄요, 그렇진 않지만, 다른 지시어에 대해서는 ui.bootstrap에 의존하고 ui.bootstrap은 부트 스트랩 2.3.2와 호환됩니다. 최신 (3.0.0) 버전의 툴팁 구성 요소 만 찾을 수 있습니다. – kliron

+0

angular는 ng-keypress 지시어를 사용합니다.이를 사용하여 컨트롤러에 로직을 넣을 수 있습니다. – bingjie2680

답변

1

이 문제를 실제 문제에보다 구체적으로 적용하려면 here이라고 게시했습니다. 그것은 '도트'범위 지정 문제였습니다. 이에 대한 자세한 내용 here