我有一个输入:Angularjs:指令不叫
<table>
...
<td style="width:59px"><input ng-model="myModel.propertyOne" ng-blur="persistValue(myModel)" enter-as-tab></td>
<td style="width:59px"><input ng-model="myModel.propertyTwo" ng-blur="persistValue(myModel)" enter-as-tab></td>
其指令
angular.module('bioandbioApp').directive('enterAsTab', function() {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 13) {
event.preventDefault();
var elementToFocus = element.next('td').find('input')[1];
if(angular.isDefined(elementToFocus))
elementToFocus.focus();
}
});
};
});
该指令被称为当用户按下Enter键,将焦点设置到下一个标签的输入。
我的问题是调用该指令,但未调用elementToFocus.focus(),因此未设置焦点。
我不明白为什么。有人知道吗?
http://jsfiddle.net/tomy29/vpaqt29d/105/
感谢
小心创建一个小提琴或蹦床? –
好吧,jsfidlle完成 – user1260928