javascript - 如何从 ng2 应用程序获取按键?

标签 javascript angular typescript

我在简单的 ng2 应用程序中按下按键时遇到问题。

我只想检查每次按下哪个键。

我使用 keyup 事件创建了带有焦点输入的标记,以获取按下的键(字母):

<input type="text" class="input-letter" id="input-letter" #box (keyup)="onKey(box.value)">
<div>
    {{key}}
</div>

它有效,但我想每次都获取单个键值,并清除当前键值,目前所有键/字母都附加到键变量。

我尝试使用下面的 clearKey() 等方法,但它不起作用。

clearKey(): void{
    this.key = null; // I tried to use ' ' instead null
}

onKey(value: string): void {
    this.clearKey();
    this.key = value;      
}

感谢您对我做错的事情提出任何建议。

最佳答案

将键盘事件传递给 onKey 函数,而不是输入值。

<input type="text" class="input-letter" id="input-letter" #box (keyup)="onKey($event)">
<div>
    {{key}}
</div>

然后

onKey(e: KeyboardEvent): void {
    this.clearKey();
    this.key = e.key;      
}

关于javascript - 如何从 ng2 应用程序获取按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44188523/

相关文章:

javascript - 当使用限制偏移加载数据时, Controller 功能会崩溃,并且 AngularJS 中的数据会被堵塞

javascript - Leaflet - 可拖动标记和坐标以字段形式显示

Javascript 检查函数是否由两个字符串组成

javascript - karma : Cannot read property * of undefined

JavaScript 字符串替换 - 如何在替换字符串中使用匹配的变量?

Javascript 和分割,在 for 循环中崩溃浏览器

javascript - ng-选择 : add an extra option

javascript - Angular2 zone.run() 与 ChangeDetectorRef.detectChanges()

angular - 来自 Angular 的非 XHR(非 AJAX)发布请求

javascript - 如何在 typescript 中以通用方式扩展第 3 方类?