CxJS

KeyCode

import { KeyCode } from 'cx/util'; Copied

KeyCode provides constants for keyboard key codes, useful for handling keyboard events.

Constants

PropertyValueKey
backspace8Backspace
tab9Tab
enter13Enter
shift16Shift
ctrl17Ctrl
alt18Alt
esc27Escape
space32Space
pageUp33Page Up
pageDown34Page Down
end35End
home36Home
left37Arrow Left
up38Arrow Up
right39Arrow Right
down40Arrow Down
insert45Insert
delete46Delete
a65A

Examples

Keyboard event handling

function handleKeyDown(e: KeyboardEvent) {
  switch (e.keyCode) {
    case KeyCode.enter:
      submitForm();
      break;
    case KeyCode.esc:
      closeModal();
      break;
    case KeyCode.up:
      moveFocusUp();
      break;
    case KeyCode.down:
      moveFocusDown();
      break;
  }
}

In CxJS components

<TextField
  value={m.query}
  onKeyDown={(e, { store }) => {
    if (e.keyCode === KeyCode.enter) {
      performSearch(store.get(m.query));
    }
  }}
/>

Ctrl+key combinations

function handleKeyDown(e: KeyboardEvent) {
  if (e.ctrlKey && e.keyCode === KeyCode.a) {
    e.preventDefault();
    selectAll();
  }
}

Note

Modern browsers also support e.key (string) and e.code (physical key). KeyCode constants are useful for older browser compatibility and numeric comparisons.

See Also