Shift + Pfeiltaste abfangen
Erklärbär
- javascript
Moin! Ich kann in einer Seite mit folgendem Skript navigieren:
<script for=document event="onkeydown()" language="jscript">
if (window.event.keyCode == 37) ...;
if (window.event.keyCode == 38) ...;
if (window.event.keyCode == 39) ...;
if (window.event.keyCode == 40) ...;
</script>
Das sind die Pfeiltasten nach links, oben, rechts und unten. Aber wie stelle ich es an, dass die Tastenkombination Shift und Pfeiltaste erkannt wird?
Das sind die Pfeiltasten nach links, oben, rechts und unten. Aber wie stelle ich es an, dass die Tastenkombination Shift und Pfeiltaste erkannt wird?
Kann man die Shift-Taste alleine per JavaScript erkennen?
Wenn ja, könntest Du eine Zustandsvariable, z. B.
namens "shiftPressed" definieren. In obiger Routine stünde
dann
<script for=document event="onkeydown()" language="jscript">
if(window.event.keyCode == CODE_FUER_SHIFT) shiftPressed = true;
...
...
if(windows.event.keyCode == 37)
if(shiftPressed) {
// Code fuer shift + Pfeiltaste
} else {
// Code fuer Pfeiltaste alleine
}
</script>
Zusätzlich bräuchtest Du noch eine weitere Funktion
<script for=document event="onkeyup()" language="jscript">
if(window.event.keyCode == CODE_FUER_SHIFT) shiftPressed = false;
</script>
Das ganze ist nur eine mögliche Idee und ist nicht getestet!
Viele Grüße
Andreas
Das sind die Pfeiltasten nach links, oben, rechts und unten. Aber wie stelle ich es an, dass die Tastenkombination Shift und Pfeiltaste erkannt wird?
Kann man die Shift-Taste alleine per JavaScript erkennen?
Wenn ja, könntest Du eine Zustandsvariable, z. B.
namens "shiftPressed" definieren. In obiger Routine stünde
dann<script for=document event="onkeydown()" language="jscript">
if(window.event.keyCode == CODE_FUER_SHIFT) shiftPressed = true;
...
...
if(windows.event.keyCode == 37)
if(shiftPressed) {
// Code fuer shift + Pfeiltaste
} else {
// Code fuer Pfeiltaste alleine
}
</script>Zusätzlich bräuchtest Du noch eine weitere Funktion
<script for=document event="onkeyup()" language="jscript">
if(window.event.keyCode == CODE_FUER_SHIFT) shiftPressed = false;
</script>Das ganze ist nur eine mögliche Idee und ist nicht getestet!
Viele Grüße
Andreas
Das funktioniert tatsächlich! THX! =) Onkeyup() kannte ich noch gar nicht. Für alle, die es noch interessiert, die komplette Lösung:
<script for=document event="onkeydown()" language="jscript">
if (window.event.keyCode == 16) shiftdown = true;
if ((window.event.keyCode == 37) && (shiftdown == false)) goback();
if ((window.event.keyCode == 39) && (shiftdown == false)) goforward();
...
if ((window.event.keyCode == 37) && (shiftdown == true)) jumpback();
if ((window.event.keyCode == 39) && (shiftdown == true)) jumpforward();
...
</script>
<script for=document event="onkeyup()" language="jscript">
if (window.event.keyCode == 16) shiftdown = false;
</script>
<script language="javascript" type="text/javascript">
<!--
var shiftdown = false;
//-->
</script>