KeystrokeHandler
Keystroke handler allows registering callbacks for given keystrokes.
The most frequent use of this class is through the editor.keystrokes property. It allows listening to keystrokes executed in the editing view:
editor.keystrokes.set( 'Ctrl+A', ( keyEvtData, cancel ) => {
console.log( 'Ctrl+A has been pressed' );
cancel();
} );
However, this utility class can be used in various part of the UI. For instance, a certain View can use it like this:
class MyView extends View {
constructor() {
this.keystrokes = new KeystrokeHandler();
this.keystrokes.set( 'tab', handleTabKey );
}
render() {
super.render();
this.keystrokes.listenTo( this.element );
}
}
That keystroke handler will listen to keydown events fired in this view's main element.
Properties
_listener : DomEmitterprivatereadonlymodule:utils/keystrokehandler~KeystrokeHandler#_listenerListener used to listen to events for easier keystroke handler destruction.
Methods
module:utils/keystrokehandler~KeystrokeHandler#constructorCreates an instance of the keystroke handler.
destroy() → voidmodule:utils/keystrokehandler~KeystrokeHandler#destroylistenTo( emitter ) → voidmodule:utils/keystrokehandler~KeystrokeHandler#listenToStarts listening for
keydownevents from a given emitter.Parameters
emitter : Window | Emitter | HTMLElement
Returns
void
press( keyEvtData ) → booleanmodule:utils/keystrokehandler~KeystrokeHandler#pressTriggers a keystroke handler for a specified key combination, if such a keystroke was defined.
Parameters
keyEvtData : Readonly<KeystrokeInfo>Key event data.
Returns
booleanWhether the keystroke was handled.
set( keystroke, callback, options ) → voidmodule:utils/keystrokehandler~KeystrokeHandler#setRegisters a handler for the specified keystroke.
Parameters
keystroke : string | readonly Array<string | number>Keystroke defined in a format accepted by the
parseKeystrokefunction.callback : ( ev: KeyboardEvent, cancel: () => void ) => voidA function called with the key event data object and a helper function to call both
preventDefault()andstopPropagation()on the underlying event.options : KeystrokeHandlerOptionsAdditional options.
Defaults to
{}
Returns
void
stopListening( [ emitter ] ) → voidmodule:utils/keystrokehandler~KeystrokeHandler#stopListeningStops listening to
keydownevents from the given emitter.Parameters
[ emitter ] : Window | Emitter | HTMLElement
Returns
void