0
我使用下面的指令來聽的輸入元素輸入按鍵:Angular-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指令,一切工作正常。
爲什麼需要tooltip指令? bootstrap具有'tooltip'屬性 –
嗯,我不這樣做,但是我依賴於ui.bootstrap作爲其他指令,並且ui.bootstrap與bootstrap 2.3.2兼容。我只能在最新的(3.0.0)版本中找到工具提示組件。 – kliron
angular有ng-keypress指令,你可以使用它並把你的邏輯放在控制器中。 – bingjie2680