【发布时间】:2017-05-08 02:37:03
【问题描述】:
我在 Angular 1.x 上找到了一些项目,用户可以通过按 Enter 键将焦点移动到下一个控件。
'use strict';
app.directive('setTabEnter', function () {
var includeTags = ['INPUT', 'SELECT'];
function link(scope, element, attrs) {
element.on('keydown', function (e) {
if (e.keyCode == 13 && includeTags.indexOf(e.target.tagName) != -1) {
var focusable = element[0].querySelectorAll('input,select,button,textarea');
var currentIndex = Array.prototype.indexOf.call(focusable, e.target)
var nextIndex = currentIndex == focusable.length - 1 ? 0 : currentIndex + 1;
if (nextIndex >= 0 && nextIndex < focusable.length)
focusable[nextIndex].focus();
return false;
}
});
}
return {
restrict: 'A',
link: link
};
});
但这不适用于 Angular 2。如何将焦点设置在 Angular 2 中 Enter 按键上的下一个控件上?
【问题讨论】:
-
请分享您的 Angular2 代码。
标签: javascript html angular typescript