當進入密鑰被釋放時,下面的工作很好。 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,但它已經很老了。 –