Следующее работает отлично, когда введите ключ отпущен. Какие еще варианты доступны для keyup
в дополнение к keyup.enter
?Каковы варианты (keyup) в Angular2?
<input #inputstring (keyup.enter)="doSomething(inputstring.value)"/>
Следующее работает отлично, когда введите ключ отпущен. Какие еще варианты доступны для keyup
в дополнение к keyup.enter
?Каковы варианты (keyup) в Angular2?
<input #inputstring (keyup.enter)="doSomething(inputstring.value)"/>
Эти варианты в настоящее время документированные в тестах: Ctrl, Shift, введите и бежать. Вот некоторые действительные примеры ключевых привязок:
keydown.control.shift.enter
keydown.control.esc
Вы можете отслеживать этот here пока нет официальных документов не существуют, но они должны быть в ближайшее время.
Вау, этот ответ был дан, когда Angular был в своей 20-й альфе, и он по-прежнему работает сегодня. –
Связанная документация 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 Аюб Али Саркер в. Единственное ключевое псевдослучайное событие, упомянутое здесь в угловых документах 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, и клавишу Alt MetaKey (т.е. Command ключа на Mac).
Не нужно использовать KeyEventsPlugin, JQuery или чистую привязку JS.
Возможно, это может дать вам подсказку https://github.com/angular/angular/issues/523, но это довольно старый. –