Autor | Zpráva | ||
---|---|---|---|
Pavel978 Profil * |
Zdravím místní odborníky,
mám problém s odchytáváním znaků zadaných uživatelem do inputu. Problém spočívá ve zpětném převodu zpátky na znak. Na keydown mám: if (typeof(window.event) != "undefined") { key = window.event.keyCode; } else if (e){ key = e.which; } else return true; jdu podle tabulky na http://unixpapa.com/js/key.html dostávám kódy ze sloupců Mozilla keycodes, IE keycodes ale když to chci převést zpátky na znak fcí String.fromCharCode(), tak potřebuju ten ASCII kód, poradí někdo jak na to? |
||
Chamurappi Profil |
#2 · Zasláno: 9. 11. 2009, 17:22:16 · Upravil/a: Chamurappi
Reaguji na Pavla978:
Odkázaná stránka v tom zmatku nachází větší vědu, než tam je. Existují dvě různá čísla — číslo klávesy a číslo znaku. V Mozille je číslo klávesy vždy v keyCode a číslo znaku je pouze při onkeypress dostupné v charCode. Explorer dává při onkeypress do keyCode číslo znaku a vlastnost charCode vůbec nezná. „Na keydown mám“ V Exploreru nejde zjistit číslo znaku při onkeydown. Pokud by ti nevadilo použití onkeypress, řešení je celkem triviální: tenTvujInput.onkeypress = function(e) { var event = e || window.event; var kodZnaku = event.charCode || event.keyCode; var znak = String.fromCharCode(kodZnaku); alert(znak); }; Edit: Přejmenoval jsem proměnnou „klavesa“ na smysluplnější „kodZnaku“. |
||
Pavel978 Profil * |
#3 · Zasláno: 9. 11. 2009, 18:03:32
Díky za odpověď,
používám jQuery fci http://docs.jquery.com/Events/keydown ... v IE funguje tedy, ale problém je právě že var event = e || window.event; mi nedá kód v ASCII, který potřebuji (jak jsem pochopil) pro fci String.fromCharCode(klavesa). |
||
Chamurappi Profil |
#4 · Zasláno: 9. 11. 2009, 19:02:02
Reaguji na Pavla978:
„problém je právě že var event = e || window.event; mi nedá kód v ASCII, který potřebuji“ Hodně by mě překvapilo, kdyby tento řádek dal ASCII kód. Ten jen vyrovnává nekompatibilitu mezi prohlížeči, kterou nejspíš ve tvém případě vyrovná už jQuery. „používám jQuery fci htttp://docs.jquery.com/Events/keydown“ Čemu nerozumíš na „v Exploreru nejde zjistit číslo znaku při onkeydown“? |
||
Pavel978 Profil * |
#5 · Zasláno: 10. 11. 2009, 11:53:40
Aha, díky. Já myslel, že nefunguje vůbec, při použití keypress bez problémů...ještě jednou díky
|
||
Časová prodleva: 14 let
|
0