In sommige webapplicaties , druk op een sneltoets of een combinatie van sneltoetsen activeert een actie van de applicatie . Standaard sneltoetsen bevatten " Ctrl - X " om tekst te verplaatsen naar het klembord , " Alt - F4 " om een venster en " Shift - F5 " om een volledig venster vernieuwing dwingen te sluiten . Detecteren van de combinatie van sneltoetsen die in JavaScript werden geperst is ingewikkelder dan je zou verwachten . Browser vereisten vroege bevatte geen details, zoals de waarde te gebruiken bij de etikettering elke toets op het toetsenbord , en verschillende bedrijven gebruikt verschillende waarden voor dezelfde toetsen . Terwijl u kunt een aanbevolen aanpak te volgen voor het controleren van sneltoetsen die werden gedrukt , controleert u de waarden en het verschil in waarden in de webbrowsers . Sneltoetsen Een hotkey is een sleutel die een soort van actie in een toepassing wanneer deze ingedrukt triggers . Bijvoorbeeld , kan een spel " z " en " c" als sneltoetsen object links en rechts draaien. Sommige toepassingen gebruiken een combinatie van sneltoetsen door het combineren van standaard alfanumerieke tekens met andere speciale toetsen , bijvoorbeeld , G " " en de pijl omhoog . Drie speciale toetsen , " Ctrl ", " Alt " en " Shift ", worden vaak gebruikt met een combinatie hotkeys . Bijvoorbeeld , " Ctrl - S " wordt vaak gebruikt als een combinatie sneltoets voor " Opslaan . " Combinatie sneltoetsen kan meer dan een speciale sleutel , zoals in " Ctrl - Alt - P . " < Br > Keycode en charCode Elke afdrukbaar teken heeft een numerieke ASCII code toegewezen , de zogenaamde charCode . Elke toets op het toetsenbord heeft ook een numerieke code die aan het genoemd een toegangscode . De twee zijn niet altijd hetzelfde . Bijvoorbeeld , de kleine letter " a " en hoofdletters " A " hebben verschillende charcodes maar delen dezelfde toegangscode . Niet- afdrukbare tekens , zoals de pijlen omhoog en omlaag niet een charCode helemaal hebben . Toetsenbord Events JavaScript , wanneer een toets is ingedrukt , activeert een reeks van gebeurtenissen . JavaScript sets eigenschappen van een gebeurtenisobject om informatie over het evenement . Een " keydown " event treedt op wanneer een toets wordt ingedrukt en een " keyup " gebeurtenis wordt geactiveerd wanneer de toets wordt losgelaten . Terwijl de toets wordt ingedrukt , wordt een " druk op de toets " event voortdurend geactiveerd . Tijdens dit evenement , de meeste browsers bieden de charCode waarde van de toets wordt ingedrukt . Tijdens een keydown of keyup evenement , de meeste browsers instellen van de toegangscode waarde van de sleutel die de gebeurtenis heeft geactiveerd . Voor alle drie de evenementen , een extra eigenschap genaamd " die " wordt meestal gebruikt om de unicode waarde van de ingedrukte toets , waaronder speciale toetsen . De meeste browsers ook drie flagss - ctrlKey , altKey en shiftKey - vermelding van de toets die werd ingedrukt wanneer de gebeurtenis afgevuurd Browser Verschillen selecteren van de gebeurtenis . en onroerend goed te gebruiken bij het bepalen van de combinatie van JavaScript sneltoetsen die werden geperst kan een uitdaging zijn . Helaas zijn niet alle webbrowsers interpreteren of identieke implementeren browser specificaties . Daardoor hoeft Chrome , Firefox , Internet Explorer , Opera en Safari niet leiden tot dezelfde gebeurtenissen of maken gebruik van dezelfde keycodes voor elke toets. Bijvoorbeeld Internet Explorer geeft nooit de charCode , alleen de toegangscode . Firefox geeft alleen de toegangscode tijdens toetsaanslag en voorziet de charCode voor keydown en keyup . De toegangscode de dikke darm sleutel is 59 in Firefox en 186 in Internet Explorer en Safari . Meeste verschillen echter bestemming dan " a" tot " z ", " A " tot " Z" , " 0 " tot " 9 ", " Ctrl " sleutels " Alt " en "Shift . " bepalen Sneltoetsen Gebruik een externe library zoals jQuery , Prototype , Dojo of MooTools wanneer je nodig hebt om een te volgen combinatie van JavaScript sneltoetsen die speciale toetsen omvat , omdat deze bibliotheken doorgaans omgaan met de conversies tussen browsers en hebben een enkel object woning aan referentie. Om de sneltoets die de gebeurtenis heeft geactiveerd zonder een bibliotheek bepalen , gebruikt u de " druk op de toets " event en controleer de " die " eigendom. Als dat eigendom is nul of ongedefinieerd , controleer dan de " keycode " eigenschap . Vergelijk deze waarde met de waarde van uw hotkey , controleer dan de ctrlKey , altKey en shiftKey vlaggen , en bepalen of de combinatie van JavaScript hotkeys werd ingedrukt .
|