What are the options for (keyup) in Angular2?
释放回车键时,以下工作非常有效。 除了
1 | <input #inputstring (keyup.enter)="doSomething(inputstring.value)"/> |
这些是目前测试中记录的选项:ctrl,shift,enter和escape。这些是键绑定的一些有效示例:
1 2 | keydown.control.shift.enter keydown.control.esc |
你可以在这里跟踪这个,但没有官方文档,但它们应该很快就会出来。
我正在寻找一种绑定到多个关键事件的方法 - 特别是Shift + Enter - 但是在网上找不到任何好的资源。但是在记录了keydown绑定之后
1 | <textarea (keydown)=onKeydownEvent($event)></textarea> |
我发现键盘事件提供了检测Shift + Enter所需的所有信息。事实证明
1 2 3 4 5 | onKeydownEvent(event: KeyboardEvent): void { if (event.keyCode === 13 && event.shiftKey) { // On 'Shift+Enter' do this... } } |
还有CtrlKey,AltKey和MetaKey的标志(即Mac上的Command键)。
不需要KeyEventsPlugin,JQuery或纯JS绑定。
这个文件给你一些提示,例如,keydown.up不起作用你需要keydown.arrowup:
https://github.com/angular/angular/blob/630d93150a58581a0d474ebf1befb5d09b6813c5/modules/angular2/src/platform/browser/browser_adapter.dart
你可以像这样添加keyup事件
1 2 3 4 5 6 | template: ` <input (keyup)="onKey($event)"> <p> {{values}} </p> ` |
在Component中,代码如下所示
1 2 3 4 5 6 7 | export class KeyUpComponent_v1 { values = ''; onKey(event:any) { // without type info this.values += event.target.value + ' | '; } } |
今天遇到了同样的问题。
这些文献记载很少,存在一个悬而未决的问题。
一些用于键盘,如空格:
1 2 | <input (keyup.space)="doSomething()"> <input (keyup.spacebar)="doSomething()"> |
一些用于keydown
(可能也适用于keyup):
1 2 3 4 5 6 7 | <input (keydown.enter)="..."> <input (keydown.a)="..."> <input (keydown.esc)="..."> <input (keydown.alt)="..."> <input (keydown.shift.esc)="..."> <input (keydown.shift.arrowdown)="..."> <input (keydown.f4)="..."> |
以上所有内容均来自以下链接:
https://github.com/angular/angular/issues/18870
https://github.com/angular/angular/issues/8273
https://github.com/angular/angular/blob/master/packages/platform-b??rowser/src/dom/events/key_events.ts
https://alligator.io/angular/binding-keyup-keydown-events/
如果您的keyup事件在CTRL,SHIFT,ENTER和ESC括号之外,请使用@Md Ayub Ali Sarker的指南。此角度文档https://angular.io/docs/ts/latest/guide/user-input.html中提到的唯一键盘伪事件是ENTER键。数字键和字母表还没有键盘伪事件。