Autor | Zpráva | ||
---|---|---|---|
Jiri Casek Profil |
#1 · Zasláno: 14. 7. 2009, 08:51:45
Prosím nemůžu najít
1. Jak se nastavuje, aby input type text měl vlastnost onFocus při načtení stránky onLoad="onFocus" ??? 2. Jak se odchycuje jedna klávesa? Asi tam bude událost onKeyPress a potom nějaká podmínka if(onKeyPress="v") else ..... Co se používá? ASCII? Jak zjistím, jaká klávesa má jaký kód? děkuji |
||
Alastor_Kopal Profil |
#2 · Zasláno: 14. 7. 2009, 11:39:44 · Upravil/a: Alastor_Kopal
2. to onKeyPress bys měl přiřadit k něčemu nejlepší asi bude
<body onkeydown="klavesa(zmacknuti);"> <script> function klavesa(zmacknuti) { switch(event.keyCode) { case (číslo klávesy): (sem dáš co potřebuješ) break; case 13: alert("Zmáčknul jsi enter"); break; // po zmáčknutí enteru vyhodí hlášku } } </script> seznam kláves najdeš třeba na http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx |
||
Jiri Casek Profil |
#3 · Zasláno: 14. 7. 2009, 18:05:12
prosim jeste ten focus.
zkoušel jsem si dívat na nějake stránky, kde je input type text ihned zameřen, ale nemohu to najit. |
||
Chamurappi Profil |
#4 · Zasláno: 14. 7. 2009, 18:35:07
Reaguji na Jiriho Caska:
„ale nemohu to najit“ Stačí hledat slova „focus“ a „načtení“ a nacházím mimo jiné tohle: • Automatická aktivace pole po načtení stránky • Kurzor v inputu • Jak po načtení stránky dosáhnout aktivního kurzoru ve formu? „Jak se odchycuje jedna klávesa?“ Pomocí onkeydown. Nepoužívej onkeypress, pokud nemáš zájem o problémy s kompatibilitou. |
||
Jiri Casek Profil |
#5 · Zasláno: 15. 7. 2009, 11:06:56
Ještě k tomu odchycení enteru - jak by ta funkce vypadala pomocí if?
|
||
Chamurappi Profil |
#6 · Zasláno: 15. 7. 2009, 11:24:52
Reaguji na Jiriho Caska:
Viz Větvení v jazyce JavaScript. Číslo klávesy „enter“ je 13. Číslo stisknuté klávesy je v event.keyCode. |
||
Jiri Casek Profil |
#7 · Zasláno: 15. 7. 2009, 18:25:38
<script> function klavesa() { if(event.keycode == 13){ document.getElementById('vysledek').innerHTML=document.tab.text1.value;} } </script> <div onkeydown="klavesa();"> <table cellspacing="0" border="1" cellpadding="6" rules="none" name="tab"> <tr><th>popis</th><th>textové pole</th><th>výsledek - zadali jste</th></tr> <tr><td>již zaměřené textové pole</td><td><input type="text" name="text1" id="zameren" /></td><td id="vysledek"></td></tr> </table> někde je chyba |
||
Chamurappi Profil |
#8 · Zasláno: 15. 7. 2009, 18:36:05
Reaguji na Jiriho Caska:
„někde je chyba“ Třeba v tom, že document.tab není nic. Tento způsob adresování funguje jen u formulářů, na tabulku name nepatří. Událost onkeydown bych na tvém místě nechytal na <div>u, ale na nějakém elementu, do kterého má smysl psát (což je třeba <input>). |
||
Jiri Casek Profil |
#9 · Zasláno: 15. 7. 2009, 18:49:09
<script> function klavesa() { if(event.keyCode == 13){ document.getElementById('vysledek').innerHTML=document.text1.value;} } </script> <table cellspacing="0" border="1" cellpadding="6" rules="none" name="tab"> <tr><th>popis</th><th>textové pole</th><th>výsledek - zadali jste</th></tr> <tr><td>již zaměřené textové pole</td><td><input type="text" name="text1" id="zameren" onkeydown="klavesa();" /></td><td id="vysledek"></td></tr> </table> <script type="text/javascript"> document.getElementById("zameren").focus(); </script> a lze teda vytáhnout value, aniž bych to dal formaluře? |
||
Časová prodleva: 10 dní
|
|||
Jiri Casek Profil |
#10 · Zasláno: 25. 7. 2009, 08:53:07 · Upravil/a: Jiri Casek
Ať dělám co chcu, tak nejsu schopen pracovat s odchycenou klávesou.
Podotýkám- přiřadit událost zkouším jak na <input>, tak na <body>(u všech příkladů) tohle funguje nenapíše se písmeno a vyzkočí alert s kódem <div onkeydown="alert(event.keyCode)"> <p>pokus odchytávání klávesy</p> <input type="text" /> </div> ------------------------------------------------------ Tohle už nefunguje <script type="text/javascript"> function zmacknuti(kod) { if(kod == 84){"alert('stisknul jsi t')";} } </script> <div onkeydown="zmacknuti(event.keyCode)"> <p>pokus odchytávání klávesy s volanim funkce</p> <input type="text" /> </div> pokud to správně chápu, tak by se měl do parametru funkce vložit kód klávesy. ------------------------------------------------- další příklady, co jsem zkoušel, ale nic nefunguje <script type="text/javascript"> function zmacknuti() { if(event.keyCode == 84){ event.returnValue=false; window.alert("Na tento blok textu neklikat!!"); } } </script> <div onkeydown="zmacknuti()"> <p>pokus odchytávání klávesy s volanim funkce</p> <input type="text" /> </div> --------------------------------------------------------- <script>function cislo(){ if (event.keyCode < 48 || event.keyCode > 57) event.returnValue= false;} </script> <input type="text" onKeyPress="cislo()"> zkopírovanej příklad-nefunguje ---------------------------------------------------- <body onKeyPress=code();> <form name="form"> <input type="text" name="form2"> <script> function code(){ document.form.form2.value=event.keyCode; } </script> zkopírovaný příklad-nefunguje ---------------------- <script type="text/javascript"> function zmacknuti(kod) { var kod = "event.keyCode"; if(kod == 84){"alert('stisknul jsi t')";} } </script> <div onkeydown="zmacknuti(kod)"> <p>pokus odchytávání klávesy s volanim funkce</p> <input type="text" /> </div> |
||
Jiri Casek Profil |
#11 · Zasláno: 25. 7. 2009, 13:45:19
prosím o vysvětlení. Stále to nechápu
<script type="text/javascript"> function getkey(e) { var code; if (!e) var e = window.event; // nastaveni pro IE if (e.keyCode) code = e.keyCode; // IE a Mozilla else if (e.which) code = e.which; // NN4 return code; } function numeric(eX) { test=getkey(eX); if (test<48 || test>57) return false; } function stisk(eX) { klavesa=getkey(eX); if (klavesa==84) {alert('stikl jsi');} } </script> <form> <input type="text" onkeypress="return numeric(event);" size="40" /> <input type="text" onkeypress="stisk(event);" /> <input type="text" onkeypress="if(getkey(e)==84)alert('stikl jsi')" /> </form> Našel jsem si další funkční příklad na omezení kláves. Zřejmně je potřeba ten kód klávesy nějak deklarovat? (? znamená dotaz, jestli se mýlím, nebo ne) Proč neguje parametr (!e) ? return code - Funkce numeric si zavolá funkci getkey a ta jí vrátí vydeklarovanou proměnnou code, tedy kód klávesy? return numeric(event) - vůbec nechápu return. Jinak volá funkci numeric a jako parametr dosazuje událost event? Proč když je vzápětí negována? return false ve funkci numeric - zajistí, že funkce odešle nepravdu a proto se písmena nenapíší? A proč stále nefunguje alert na jednu klávesu. Kód klávesy už mám pěkně v proměnné. děkuji |
||
zvěřiňák Profil |
#12 · Zasláno: 25. 7. 2009, 21:37:25 · Upravil/a: zvěřiňák
Tohle jsem vyšťoural někde na netu:
<script type="text/javascript"> document.onkeyup = checkKeycode function checkKeycode(e) { var keycode; if (window.event) keycode = window.event.keyCode; else if (e) keycode = e.which; if(keycode == 84){ alert('stisknul jsi t'); } } </script> <div> <p>pokus odchytávání klávesy</p> <input type="text"> </div> Funguje to, ale vysvětlit to bude muset nějaký větší odborník. |
||
Jiri Casek Profil |
#13 · Zasláno: 26. 7. 2009, 07:06:34
opravdu zajímavý a kdyby se našel někdo s vysvětlením, tak by to bylo krásné. Tohle opravdu funguje, ale chtělo by to pchopit aby to člověk byl schopen použít. Zajímáve, že jak se tu funkci pokusím zavolat jinak (přímo z inputu, nebo z form), tak to zase nefunguje.
|
||
zvěřiňák Profil |
#14 · Zasláno: 26. 7. 2009, 21:04:10
Takhle to jde úplně nejjednodušeji:
<script type="text/javascript"> function keyUp(evt) { if(evt.keyCode == 84){alert('stisknul jsi t');} } </script> <div> <p>pokus odchytávání klávesy s volanim funkce</p> <input type="text" onkeyup="keyUp(event);"> </div> |
||
Časová prodleva: 15 let
|
0