Aller au contenu

useKeyPress

Détecte les pressions de touches du clavier avec support de callback optionnel.

import { useKeyPress, useKeyPressCallback } from 'asterui'
function KeyPressExample() {
const escapePressed = useKeyPress('Escape')
useEffect(() => {
if (escapePressed) closeModal()
}, [escapePressed])
return <div>{escapePressed ? 'Échap pressée !' : 'Pressez Échap'}</div>
}
function CallbackExample() {
useKeyPressCallback('Escape', () => closeModal())
useKeyPressCallback('Enter', () => submitForm(), { preventDefault: true })
return <Form>...</Form>
}
ParamètreTypeDescription
targetKeystringTouche à détecter (ex : 'Enter', 'Escape', 'a')
optionsUseKeyPressOptionsOptions de configuration
ParamètreTypeDescription
targetKeystringTouche à détecter
callback(event: KeyboardEvent) => voidFonction à appeler
optionsUseKeyPressOptionsOptions de configuration
PropriétéTypeDéfautDescription
targetHTMLElement | WindowwindowÉlément cible pour l’écouteur
event'keydown' | 'keyup''keydown'Type d’événement à écouter
preventDefaultbooleanfalseEmpêcher le comportement par défaut du navigateur
TypeDescription
booleanVrai tant que la touche est pressée