javascript - Angular 4 - 使用 Enter 关注下一个元素

标签 javascript angular typescript frontend angular-forms

这个问题之前已经针对 AngularJS 和 Jquery 问过,但是我需要在 Angular 4 中做这个并且它略有不同。

情况:

我有一个带有表格的组件 (Tablecomponent)。该表充满了用户的输入字段。现在我还想使用 Enter 键而不是仅使用 Tab 键来切换这些输入字段。

我在其他地方找到了这个解决方案,但它不起作用,因为“element”没有函数“focus()”

onKeyUp($event) {
if ($event.keyCode === 13) {
  const element: any = event.srcElement.nextElementSibling;
  if (element == null) {
    return;
  } else {
    element.focus();
  }

我不确定,但我相信首先要做的是获取下一个元素(此处为“输入”字段)并简单地“聚焦”它。

最佳答案

Angular 有一个元素引用 elementRef你可以使用它会更准确地命中像 key Angular 应用程序中的事件。

// add it to your compoenent
constructor(private elementRef: ElementRef) { }

然后你可以使用

来聚焦它
this.elementRef.nativeElement.focus();

关于javascript - Angular 4 - 使用 Enter 关注下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48323969/

相关文章:

angular - 如何在 Angular 分量测试中模拟 @INPUT 值

angular - 大型 Angular Material 弹出框应使父内容可滚动

angular - 检查后表达式已更改,在使用 jasmine 测试 angular 2 组件时出错

node.js - TypeORM全局创建连接

Typescript Union To Intersection 返回值为 never

javascript - 具有基本身份验证的 jQuery AJAX 跨域

javascript - D3 - 围绕 SVG 组创建动态 "Border"矩形

angular - Ionic 在位置上或基于经度和纬度设置标记

javascript - 如何在不知道javascript数组长度的情况下创建二维数组?

php - 如何设置从网站到 Twitter 的推文状态时间表?