Autor Zpráva
quatzael
Profil
Lze nějak jednoduše zjistit přímo hodnotu klávesy, podle e.which?
Tzn., že když e.which bude např. 49, abych zjistil, že daná klávesa má hodnotu "1"..
Chamurappi
Profil
Reaguji na quatzaela:
Klávesa žádnou řetězcovou hodnotu nemá. Je rozdíl mezi číslem znaku a číslem klávesy, jsou to dva oddělené číselníky. Třeba šipka doleva má číslo 37 a jaký by měla mít znak? Znaky „A“ i „a“ se píší klávesou číslo 65, v závislosti na Shiftu (který má číslo 16). Číslice na numerické klávesnici také můžou mít jiné hodnoty než číslice na alfanumerické.

Z čísla znaku jde udělat znak metodou String.fromCharCode(číslo).
Edit ↓: Nejsem. Má.
quatzael
Profil
Chamurappi:
Z čísla znaku jde udělat znak metodou String.fromCharCodes(číslo).
Jseš si jistej tím fromCharCodes? Nemá být jen fromCharCode?


Chamurappi:
Třeba šipka doleva má číslo 37 a jaký by měla mít znak?
Tohle chápu.. Takže teda na to nic neexistuje a musím si hodnoty kláves dát do vlastního vytvořeného pole, ze kterého budu podle toho čísla kláves přiřazovat konkrétní hodnoty?


A to nejde ani jinak zjistit hodnotu, která byla právě zadaná klávesou? Přece samotnej prohlížeč to pozná, jinak by nešlo normálně psát..


Chamurappi:
Aha, už vím. Použiju přímo tohle:
var charcode = String.fromCharCode(e.charCode || e.keyCode);

A jde to i bez toho e.which
1Pupik1989
Profil
Nebo z řetězce pomocí substr vrať poslední znak.
quatzael
Profil
1Pupik1989:
To asi moc nebude fungovat, když tam někdo začne psát něco doprostřed..
1Pupik1989
Profil
quatzel: Pozice kurzoru se dá zjistit. Tam bych asi začal. Nebo druhá mižnost je udělat si pole znaků. Nejspíš se po internetu bude nějaké válet. Písmena bez diakritiky a čísla se ještě dají převést přičtením hodnoty, ale z paměti už nevím jaké.
quatzael
Profil
1Pupik1989:
To, že se dá pozice kurzoru zjistit, to už jsem se dozvěděl ve vedlejším vlákně. Ale v čem bude Tvoje řešení lepší než to moje??
Navíc jak chceš při tý druhý možnosti zjistit, jestli uživatel zmáčknul "ě" nebo se shiftem "2"?
1Pupik1989
Profil
quatzel: U druhé možnosti jsem psal o poli znaků. Nikdy se neopakují. Takže jen? Naprosto jednoduše, vyberu podle znaku hodnotu.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: