Javascript 将光标移动到enter上的下一个元素,并跟踪tabindex

Javascript 将光标移动到enter上的下一个元素,并跟踪tabindex,javascript,jquery,Javascript,Jquery,我使用下面的代码移动到下一个元素。除了tabindex=-1之外,代码工作正常。它不会跳过tabindex设置为-1的元素 $('body').on('keydown', 'input, select', function(e) { if (e.key === "Enter") { var self = $(this), form = self.parents('form:eq(0)'), focusable, next;

我使用下面的代码移动到下一个元素。除了tabindex=-1之外,代码工作正常。它不会跳过tabindex设置为-1的元素

        $('body').on('keydown', 'input, select', function(e) {
            if (e.key === "Enter") {
                var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
                focusable = form.find('input,a,select,button,textarea').filter(':visible');
                next = focusable.eq(focusable.index(this)+1);
                if (next.length) {
                    next.focus();
                } else {
                    form.submit();
                }
                return false;
            }
        });
我一直在寻找解决方案,但没有找到。
任何人都可以帮忙。

您只关注下一个元素,而不让浏览器处理它。因此,tabindex=-1不起作用

要使用HTML中指定的tabindex,还必须在Javascript中指定它(
:not([tabindex=“-1”])
):


您可以添加此代码引用的html吗?
 focusable = form.find('input,a,select,button,textarea').filter(':not([tabindex="-1"]):visible');