小编tda*_*dav的帖子

将焦点移至键Enter上的下一个控件

我在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
    };
});
Run Code Online (Sandbox Code Playgroud)

但这对Angular 2不起作用.如何在Angular 2中的Enter keypress上设置焦点到下一个控件?

html javascript typescript angular

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

angular ×1

html ×1

javascript ×1

typescript ×1