2012-08-05 7 views
16

Sui browser Mac, javascript non riceve eventi keyup per la maggior parte delle chiavi (altri tasti modificatori sembrano essere un'eccezione) quando il metakey non è attivo. Utilizzare questa jsfiddle per dimostrare (messa a fuoco l'area risultato e provare qualcosa di simile cmd + x, x non riceverà un evento keyup): http://jsfiddle.net/mUEaV/Perché Javascript rilascia gli eventi keyUp quando si preme metaKey sui browser Mac?

Ho riprodotto questo nelle versioni stabili per Chrome, FF, Safari e Opera . La stessa cosa non sembra accadere con il tasto di controllo in Windows 7.

Il sistema operativo sta effettuando il dirottamento dell'evento keyup? Questo sembra particolarmente strano dato che i comandi che usano la metakey come salva, trova, taglia, copia, eccetera tutti attivati ​​su keydown non in keyup, e possono essere dirottati dal javascript bene.

+0

Mi dispiace chiedere una domanda chiaramente stupida, ma come utente non Mac: quale è la meta chiave? (Ho una tastiera Mac, ma è collegata a un PC Ubuntu.) –

+0

@DavidThomas Io uso le tastiere al contrario: una tastiera Windows con un mac :) Per me, la meta key è il tasto Windows, ** con il impostazioni predefinite**. (Su un Mac, puoi cambiarlo, * per mantenere le cose coerenti! *: O) – tomsmeding

+1

Questo è il comportamento previsto per OS X: http://stackoverflow.com/questions/4001565/missing-keyup-events-on -mangante-combinazioni-chiave-ad esempio-selezionare-inizio- – NateS

risposta

2

La finestra del browser mantiene la messa a fuoco quando si preme questi tasti? In Windows è possibile ottenere risultati simili quando si preme windows+R o CTRL+ESC e combinazioni di tasti simili che rendono il browser inattivo e risultati in eventi persi.

+0

Il browser sta mantenendo l'attenzione. Non vi è alcuna indicazione visiva della perdita di messa a fuoco e si può continuare a premere i tasti e catturare altri eventi chiave. L'ho notato anche durante i test in Windows, ed è logico perché il tasto Windows dovrebbe causare un comportamento specifico del sistema operativo, e non può essere dirottato dal browser afaik. – anonymouse

Problemi correlati