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
...
}
왜 모델이 정의되지지고? 툴팁 지시어를 포함하지 않으면 모든 것이 잘 작동합니다.
툴팁 지침이 필요한 이유는 무엇입니까? 부트 스트랩에는'tooltip' 속성이 있습니다. –
글쎄요, 그렇진 않지만, 다른 지시어에 대해서는 ui.bootstrap에 의존하고 ui.bootstrap은 부트 스트랩 2.3.2와 호환됩니다. 최신 (3.0.0) 버전의 툴팁 구성 요소 만 찾을 수 있습니다. – kliron
angular는 ng-keypress 지시어를 사용합니다.이를 사용하여 컨트롤러에 로직을 넣을 수 있습니다. – bingjie2680