Zkratkové klávesy ve webové aplikaci snadno a rychle
18.09.2004 14:41Na webu již několikrát proběhla diskuse o používání accesskey, někomu accesskey nevadí a používá je, někomu vadí a zaklíná je. Já si osobně myslím, že mohou být poměrně užitečné. Tento spot ovšem není o accesskey, nýbrž o zkratkových klávesách pomocí javascriptu, které jsou využitelné především u webových aplikací, nebo ještě lépe v administračních rozhraních.
O co jde
Jak jsem již zmínil, zkratkové klávesy lze vytvořit snadno pomocí accesskey, nicméně accesskey má značná omezení - jako zkratky se dají použít pouze znaky nebo číslice a nelze navázat na libovolný prvek HTML. Když se ovšem podíváme na možnosti javascriptu, tak zjistíme, že existuje událost OnKeyDown (pro IE, jinak OnKeyPress v Gecko), pomocí které se velice snadno dá zjistit, jakou klávesu uživatel stiskl. A odtud je již velice blízko k vytvoření užitečných zkratek často používaných funkcí např. v rozsáhlém redakčním systému nebo administračním rozhraní.
Např. pomocí této události lze velice snadno realizovat odeslání formuláře stisknutím kláves CTRL+S, aniž by záleželo kde má uživatel momentálně focus (ve stránce, v inputu nebo třeba v textarea), aby mohl stisknout ENTER a klasicky formulář odeslat. Stejně tak lze aktivovat skripty ve stránce, provádět přesměrování či cokoliv vás napadne.
Příklad použití
Podívejte se na jednoduchý příklad. Zastávám názor, že jasný a jednoduchý příklad použití a zpracování události OnKeyDown (okomentovaný ve zdrojovém kódu) řekne více než tisíc slov.
18.09.2004 | Rubrika: JavaScript | Trvalý odkaz
09.12.2005 v 21:25
bacha,kdyz otevres script ve firfoxu 1.5 tak se pri stisku ctrl+1 prehodi taby na prvni.