Я начал изучать Angular2 и имел базовый уровень с 3 вложенными компонентами, работающими. Однако я не могу понять, как добавить обработчик нажатия клавиши в документ.
Если нет, то как я могу прослушать нажатие на документ и отреагировать на него? Чтобы быть ясным, мне нужно ответить на кепресс на самом документе, а не на вход.
In Angular 1 Я бы создал директиву и использовал $ document; что-то вроде этого:
$document.on("keydown", function(event) {
// if keycode...
event.stopPropagation();
event.preventDefault();
scope.$apply(function() {
// update scope...
});
Но мне еще не найти решение Angular2.
Я еще не видел синтаксис 'document: keyup'. У вас есть ссылки на это, чтобы я мог узнать больше? –
@MarkRajcok Не знаю, где я нашел его в первый раз .. Я знаю, что видел '' на официальных [Guides Guide] (https: // angular.io/docs/ts/latest/guide/user-input.html) - найдите ** Фильтрацию ключевых событий ** ... Я попытаюсь найти, где я получил синтаксис 'document: _event_'. Например, работает с «window: click». – Sasxa
@MarkRajcok Я искал «click out» некоторое время назад, и нашел код для [Angular2 Modal] (https://github.com/shlomiassaf/angular2-modal/blob/master/src/angular2-modal/ компоненты/bootstrapModalContainer.ts). После этого я просмотрел исходный код для [key_events] (https://github.com/angular/angular/blob/master/modules/angular2/src/platform/dom/events/key_events.ts) и с некоторыми экспериментами, которые я получил к этому синтаксису ... – Sasxa