当进入密钥被释放时,下面的工作很好。 keyup
除keyup.enter
之外还有什么其他选择可供选择?Angular2中的(keyup)有哪些选项?
<input #inputstring (keyup.enter)="doSomething(inputstring.value)"/>
当进入密钥被释放时,下面的工作很好。 keyup
除keyup.enter
之外还有什么其他选择可供选择?Angular2中的(keyup)有哪些选项?
<input #inputstring (keyup.enter)="doSomething(inputstring.value)"/>
这些是目前在测试中记录的选项:ctrl,shift,enter和escape。这些键绑定的一些有效的例子:
keydown.control.shift.enter
keydown.control.esc
虽然没有官方的文档存在,你可以跟踪这个here,但他们应该很快就会出炉。
哇,这个答案是在Angular处于第20个alpha时给出的,它今天仍然有效。 –
相关文档https://angular.io/guide/user-input#key-event-filtering-with-keyenter –
这个文件给你一些更多的提示,例如,keydown.up不工作,你需要keydown.arrowup:
您可以添加keyup事件这样
template: `
<input (keyup)="onKey($event)">
<p>{{values}}</p>
`
在组件中,一些像下面的代码
export class KeyUpComponent_v1 {
values = '';
onKey(event:any) { // without type info
this.values += event.target.value + ' | ';
}
}
这不适用于数字。如果我在输入字段中键入数字,那么keyup事件不会被触发。我们可以为此做些什么? – monica
如果您的键盘ev耳鼻喉科是CTRL,SHIFT,ENTER和ESC支架外,只要使用@Md阿尤布·阿里Sarker指南。这里在角度文档https://angular.io/docs/ts/latest/guide/user-input.html中提到的唯一键盘伪事件是ENTER键。数字键和字母表还没有关键的伪事件。
我正在寻找一种方法来绑定多个关键事件 - 特别是Shift + Enter - 但在线找不到任何好的资源。但是在记录了keydown绑定之后
<textarea (keydown)=onKeydownEvent($event)></textarea>
我发现键盘事件提供了我需要检测Shift + Enter的所有信息。原来,$event
返回一个相当详细的KeyboardEvent。
onKeydownEvent(event: KeyboardEvent): void {
if (event.keyCode === 13 && event.shiftKey) {
// On 'Shift+Enter' do this...
}
}
还有CtrlKey,AltKey和MetaKey(即Mac上的Command键)的标志。
不需要KeyEventsPlugin,JQuery或纯JS绑定。
也许这可能会给你一个提示https://github.com/angular/angular/issues/523,但它已经很老了。 –