I vissa webbapplikationer , trycka på en enda snabbtangent eller en kombination av snabbtangenter utlöser en åtgärd från programmet . Standard snabbtangenter inkluderar " Ctrl - X " för att flytta text till urklipp , " Alt - F4 " för att stänga ett fönster och " Shift - F5 " för att tvinga fram en fullständig fönster uppdateringsfrekvens . Upptäcka en kombination av snabbtangenter som pressades i JavaScript är mer komplicerat än du kanske tror . Tidiga krav på webbläsare inte innehålla detaljer som det värde som ska användas vid märkning varje tangent på tangentbordet , och olika företag använde olika värden för samma nycklar . Även om du kan följa en rekommenderad metod för kontroll av snabbtangenter som var pressade , kontrollera värdena och skillnaden i värden i olika webbläsare . Snabbtangenter
En snabbtangent är en nyckel som utlöser någon form av åtgärd i ett program när den pressas . Till exempel kan ett spel använda "z " och "c " som snabbtangenter för att rotera ett objekt vänster och höger. Vissa program använder en kombination av snabbtangenter genom att kombinera vanliga alfanumeriska tecken med andra speciella nycklar , till exempel G " " och pil . Tre speciella tangenter , " Ctrl ", " " Alt " och " Shift , används ofta med kombination snabbtangenter . Till exempel , " Ctrl - S " används ofta som en kombination snabbtangent för " Spara . " Kombination snabbtangenter kan innehålla mer än en speciell nyckel , som i " Ctrl - Alt - P . "
Tangentkoden och charCode
Varje skrivbara tecken har ett numeriskt ASCII kod som tilldelats den , kallas charCode . Varje tangent på tangentbordet har också en numerisk kod som tilldelats det kallas en nyckelkod . De två är inte alltid samma . Till exempel , den gemena "a" och versaler "A" har olika charcodes men delar samma tangentkod . Icke - utskrivbara tecken som upp och ner pilarna inte har en charCode alls .
Tangentbordshändelser
JavaScript , när en tangent trycks , utlöser det en serie händelser . JavaScript sätter egenskaperna för ett händelseobjekt för att ge information om händelsen . En " keyDown " händelse händer när en tangent trycks ned och ett " keyUp " händelsen utlöses när tangenten släpps . Medan knappen hålls nere , är en " knapptryckning " händelse ständigt utlöses . Under denna händelse , de flesta webbläsare ger charCode värdet av tangent trycks . Under en keyDown eller keyUp händelse , som de flesta webbläsare tangentkoden värdet på nyckeln som utlöste händelsen . För alla tre händelser , en ytterligare egenskap som kallas " som " är vanligtvis inställd på Unicode-värdet på nyckeln trycks inklusive särskilda nycklar . De flesta webbläsare satte också tre flagss - ctrlKey , altKey och shiftKey - ange nyckeln som hölls nere när händelsen sparken Välja händelsen
Webbläsare Skillnader
. och egendom att använda vid bestämning av kombination av JavaScript snabbtangenter som pressades kan vara en utmaning . Tyvärr har inte alla webbläsare tolka eller genomföra webbläsare specifikationer identiskt . Som ett resultat , utlöser Chrome , Firefox , Internet Explorer , Opera och Safari inte samma händelser eller använda samma tangentkoder för varje tangent . Till exempel ger Internet Explorer aldrig charCode , bara den kod . Firefox ger bara tangentkoden under knapptryckning och ger charCode för keyDown och keyUp . Tangentkoden för kolon nyckeln är 59 i Firefox och 186 i Internet Explorer och Safari . De flesta av skillnaderna , dock finns för nycklar andra än " a " till " z ", " A " till " Z " , " 0 " till " 9 ", " Ctrl ", " Alt " och " Shift ".
Bestämma Snabbtangenter
Använd ett externt bibliotek som jQuery , Prototype , Dojo eller MooTools när du behöver spåra en kombinationen av JavaScript snabbtangenter som inkluderar speciella knappar , eftersom dessa bibliotek i allmänhet hanterar konverteringar mellan webbläsare och har ett enda objekt egendom till referens . För att bestämma snabbtangenten som utlöste händelsen utan ett bibliotek , använd " knapptryckningen " händelsen och kolla " som " egendom . Om denna egenskap är noll eller odefinierad , kolla " keycode " egendom . Jämför detta värde till värdet av din hotkey , kontrollera ctrlKey , altKey och shiftKey flaggor , och avgöra om kombinationen av JavaScript snabbtangenter trycktes .