2015-05-27 14 views
5

Sto cercando consigli da altri che hanno esperienza con la creazione di scorciatoie da tastiera per applicazioni web di produttività.Comandi di scelta rapida tramite tasto o keyup

Al momento, sto collegando tutti i miei comandi all'evento keyup, tuttavia ho letto post su SO che sembrano suggerire che dovrei collegarli all'evento keypress. Ho scelto la chiave perché volevo che il comando venisse attivato una sola volta invece di più volte, cosa che può accadere nel caso di keypress. Tuttavia non sono sicuro se ci sia qualcos'altro che mi manca.

Quindi, quale evento consigliate per creare scorciatoie di comandi per le app Web? Keyup o Keypress?

+3

C'è un motivo per cui non stai usando solo [ 'accesskey' attributi] (http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the -accesskey-attribute)? –

+1

Non ero a conoscenza di questo attributo per essere perfettamente onesto. Tuttavia, dopo aver letto come usarlo su http://www.w3schools.com/tags/att_global_accesskey.asp, sono stupito di quanto sia disordinato e non standardizzato. Riesci a immaginare di dover recitare il tasto di accesso Alt + su Chrome e Alt + Maiusc + tasto di accesso su Firefox? Mi sembra un enorme problema per me come sviluppatore, quindi riesco a malapena a immaginare quanto sarebbe male per i miei clienti che non sono affatto tecnici. –

+0

@RowlandShaw Mi scuso se il mio commento è sembrato duro. –

risposta

0
  1. La principale differenza tra keyup e keypress è che keypress viene inviato solo quando si preme qualche chiavi stampabili. Ad esempio, premendo P verrà attivato entrambi, ma premendo Ctrl non verrà generato il numero keypress. Quindi, in pratica, se si definiscono i tasti di scelta rapida che coinvolgono le chiavi non stampabili, keyup l'evento è la strada da percorrere.

  2. accesskey è standardizzato nelle specifiche W3C. Non è molto doloroso e un cliente non tecnico non è in grado di passare frequentemente da un browser all'altro.

  3. A meno che lo sviluppo di alcune complicate applicazioni web, la mia scelta sarebbe sempre accesskey, per un motivo molto importante - l'accessibilità. accesskey è supportato da dispositivi di assistenza comuni, ad es. screen reader. Se usi l'evento tastiera per farlo, dovrai fare un sacco di lavoro sporco per i dispositivi.

Problemi correlati