当前位置: 首页 > 知识库问答 >
问题:

Enter键按下的行为就像一个有角度的标签

施茂
2023-03-14

我有一个角2+表单组,每个表单字段都有tabindex。

如何在每次按Enter键时将焦点更改为下一个表单字段(类似于按tab键)?

JavaScript Reference-Enter键的行为类似于JavaScript中的标签

共有1个答案

洪博涛
2023-03-14

我会用一个简单的指令和一个简单得多的服务来完成这件事。

tab.directive.ts

import { Directive, Input, ElementRef, HostListener, OnInit } from '@angular/core';
import { TabService } from './tab.service';
type IKNOWISNUMBER = any;
type IKNOWISSTRING = any;

@Directive({
  selector: '[tabIndex]'
})
export class TabDirective implements OnInit {

  private _index: number;
  get index(): IKNOWISNUMBER{
    return this._index;
  }
  @Input('tabIndex')
  set index(i: IKNOWISSTRING){
    this._index = parseInt(i);
  }

  @HostListener('keydown', ['$event'])
  onInput(e: any) {
    if (e.which === 13) {
      this.tabService.selectedInput.next(this.index + 1)
      e.preventDefault();
    }
  }
  constructor(private el: ElementRef, private tabService: TabService) { 
  }

  ngOnInit(){
    this.tabService.selectedInput.subscribe((i) => {
      if (i === this.index){
        this.el.nativeElement.focus();
      }
    });
  }
}
 类似资料:
  • 本文向大家介绍pyqt5 键盘监听按下enter 就登陆的实例,包括了pyqt5 键盘监听按下enter 就登陆的实例的使用技巧和注意事项,需要的朋友参考一下 记得导入包,其他按键可类比 以上这篇pyqt5 键盘监听按下enter 就登陆的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 用AngularJS按回车键提交表单这个问题使用html5按钮,但我使用角度材质按钮作为 但是如何使用它呢

  • 我发现当有人按下“回车”键时,这个问题对于提交表单非常有用: Javascript: 超文本标记语言: 我想知道的是,当按下“回车”键时,将字段设置为模糊。模糊sender字段的效果是什么? 我想保留ngEnter指令的原样,因为我想将其重新用于其他函数。 更新:我知道我可以创建一个完整的指令来进行模糊处理(我现在就是这么做的),但我想做的是能够做这样的事情: 或者如何将当前元素作为参数传递?

  • 问题内容: 我已经试过了: 给出错误: 问题答案: Keyup / Keydown仅限于WebDriver中的修饰键(Shift,Ctrl等)。我想你要

  • 我有一个带有两个div标签的登录控件的表单 第一个DIV包含用户名、密码和登录按钮,而且我忘记了表单中的密码链接。。当我们点击它时,它会显示另一个带有输入电子邮件id文本框和提交按钮的div。 我使用JQuery的回车键来提交表单,它工作得很好...但在忘记密码链接的情况下,单击它会显示另一个div...与提交按钮,但回车键不适用于按键上的div 这是我的jQuery代码: 如何提交表单输入键按两

  • 问题内容: 我有一个显示值的文本字段。我想要的是,当用户在该文本字段中输入新值并按Enter时,将触发ajax函数以执行分页操作。我有一个像这样的文本字段: 当用户编写任何新值并按Enter时,我希望触发以下ajax函数: 我尝试使用keypress事件进行检测,但这不能解决问题。谁能指导我? 问题答案: 在jsfiddle上。