Autor | Zpráva | ||
---|---|---|---|
kabanos Profil * |
#1 · Zasláno: 19. 3. 2009, 17:25:21
Je možné nějak udělat, abych mohl listovat na mých stránkách dopředu a dozadu pomocí nadefinovaných kláves? Mám stránku s obrázky. Při kliknutí na nějaký se zobrazí detail a dvě tlačítka - předchozí a další. Je možné jim předdefinovat nějakou klávesu? Jak?
|
||
Joker Profil |
#2 · Zasláno: 19. 3. 2009, 17:30:12
kabanos
Možné to je... přes události onkeypress, případně onkeyup/onkeydown |
||
kabanos Profil * |
#3 · Zasláno: 19. 3. 2009, 17:47:15
Už to mám:
<html> <head> <title></title> <script type="text/javascript"> function go(evt){ var key = (typeof evt.which != "undefined") ? evt.which : event.keyCode; if (String.fromCharCode(key)=="g"){window.location="http://www.google.com";} if (String.fromCharCode(key)=="s"){window.location="http://www.seznam.cz";} } </script> </head> <body onKeyPress="go(event)"> G - Google <br> S - Seznam </body> </html> |
||
Chamurappi Profil |
#4 · Zasláno: 19. 3. 2009, 18:07:55
Reaguji na kabanos:
Viz Navigace šipkami na klávesnici. |
||
Časová prodleva: 3 dny
|
|||
kabanos Profil * |
#5 · Zasláno: 22. 3. 2009, 10:30:35
Chamurappi
Dobrý typ:-)) Navigace šipkami na klávesnici Jak ten kód ale upravit, abych tu funkci mohl spouštět i z jiného iframu nebo z parent iframu. Z nadřazeného to dělám přes: <body onKeyPress="window.frames.pis.change_text(event);"> Z jiného iframu name="text" to volám přes: <body onKeyPress="parent.pis.change_text(event);"> Iframe s funkcí je name="pis": (zde to funguje, pokud to nazabalim do funkce change_text(e); a vynechám onkeypress v body, jinak to taky nefunguje) Dík <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript"> function change_text(e) { document.documentElement.onkeydown = function(e) { var event = e || window.event; var target = event.target || event.srcElement; if (target.tagName == "INPUT" || target.tagName == "TEXTAREA") return true; var akce = { 37: function() {document.getElementById('textik').innerHTML='doleva ';}, 38: function() {document.getElementById('textik').innerHTML='nahoru ';}, 39: function() {document.getElementById('textik').innerHTML='doprava ';}, 40: function() {document.getElementById('textik').innerHTML='dolu ';} }; var a = akce[event.keyCode]; return a ? a() : true; } } </script> </head> <body onKeyPress="change_text(event);"> <div id="textik"></div> </body> </html> |
||
kabanos Profil * |
#6 · Zasláno: 23. 3. 2009, 17:38:27
Prosim, jak upravim kód, aby se to dalo volat jako funkce? Problém bude asi s event, ale moc se v tom nevyznám.
Dík |
||
kabanos Profil * |
#7 · Zasláno: 23. 3. 2009, 18:34:17
Už jsem na to přišel:-))
Na vlastní stránce (pis): <script type="text/javascript">document.documentElement.onkeydown=change_page;</script> Z iframu (text): <script type="text/javascript">document.documentElement.onkeydown=function ch(e) {var event = e || window.event;parent.pis.change_page(event);};</script> Z nadřazeného framesetu: <script type="text/javascript">document.documentElement.onkeydown=function ch(e) {var event = e || window.event;window.frames.pis.change_page(event)};</script> Volaná funkce: function change_text(e) { var event = e || window.event; var target = event.target || event.srcElement; if (target.tagName == "INPUT" || target.tagName == "TEXTAREA") return true; var akce = { 37: function() {document.getElementById('textik').innerHTML='doleva ';}, 38: function() {document.getElementById('textik').innerHTML='nahoru ';}, 39: function() {document.getElementById('textik').innerHTML='doprava ';}, 40: function() {document.getElementById('textik').innerHTML='dolu ';} }; var a = akce[event.keyCode]; return a ? a() : true; } |
||
Časová prodleva: 15 let
|
0