2014-06-16 10 views
5

Sto costruendo un sito in cui sono vincolanti a livello globale determinati tasti per le scorciatoie che utilizzano l'evento keyup. Ad esempio, se qualcuno preme il tasto A, si apre un menu.Come si rileva se un utente ha una tastiera tramite Javascript?

Non voglio associare questi trigger a dispositivi mobili (come telefoni e tablet). Tuttavia, c'è un numero di persone che usa le tastiere con i loro tablet. Come posso rilevare se esiste un input da tastiera tramite Javascript? So che posso rilevare i dispositivi touch basati sul fatto che esiste touchstart, ma che non funzionerebbe per le persone che sono su tablet e hanno le tastiere collegate. Voglio solo associare gli eventi keyup se è presente una tastiera. Qual è il modo migliore per farlo?

Nota: so che questo è un piacere, ma mi piacerebbe farlo se possibile.

Grazie in anticipo!

+1

Perché non si associa a 'keyup' in tutti i casi ... se l'utente non ha una tastiera, non farà nulla. – Steve

+0

Non volevo legare eventi non necessari. Importa molto o non è un grosso problema? – srisonti

+5

Se è solo un gestore di chiavi, non è assolutamente un grosso problema. Il codice che scriveresti per NON includere il gestore sarebbe probabilmente un grosso problema. – Steve

risposta

0

È possibile allegare sempre un gestore di eventi catch-all all'oggetto del documento che associa in modo pigramente i gestori di eventi dopo che l'utente ha premuto una chiave.

Problemi correlati