Tänkte bygga en lite knappfunktion som öppnar en "dold" sida ...
ex.
När fönstret är aktivt och man klickar ctr+shift+s så skall ett nytt specifikt fönster öppnas ...
möjligt?
snabbt svar belönas med ett "tack" ;)
22 svar · 484 visningar · startad av #L#
Tänkte bygga en lite knappfunktion som öppnar en "dold" sida ...
ex.
När fönstret är aktivt och man klickar ctr+shift+s så skall ett nytt specifikt fönster öppnas ...
möjligt?
snabbt svar belönas med ett "tack" ;)
tuddiloo..
Jag tror det blir svårt att kombinera de olika tangenterna. Däremot skulle du kunna göra så här:
<script type="text/javascript">
<!--
document.onkeydown = function(){
if(event.keyCode==16)
window.open("foo.html","","height=300,width=300");
};
//-->
</script>
I detta exempel kommer ett fönster att öppnas om du trycker på "shift". Det fungerar givetvis även med andra tangenter, men då får du byta ut talet 16 i koden, till motsvarigheten för den önskade tangenten.
Kan även säga att detta endast fungerar i IE.
:)
Att det bara funkar i IE är bara bra .. då detta är enda browser jag använder både hemma och i skolan...
hm.. det är svårt att kombinera knappar säger du..
det går inte att lösa så att man är tvungen att trycka på säg två knappar i en följd ...
ex.
f och sen shift
?
Att trycka på knappar i en viss följd går hur bra som helst. Koden för "Shift"-tangenten och "f" eller vice versa skulle kunna se ut så här:
var n = 0;
document.onkeydown = function(){
n += event.keyCode;
if(n==86){
window.open("foo.html","","height=300,width=300");
n = 0;
}
};
:)
Lite närmare kanske;
sh=0; s=0;
document.onkeydown = function(){
if(event.keyCode==16) sh=new Date().getTime();
if(event.keyCode==83) s=new Date().getTime();
var now=new Date().getTime();
if(now-sh<500&&now-s<500){
window.open("foo.html","","height=300,width=300");
}
}
Tyvärr så genererar [ctrl] inte någon keyCode.
Peter, där behöver det ju inte vara just [shift] och "F", bara resultatet blir 86 efter ett tag... :)
Har inte tangentkoderna tillängliga ... lika bra att jag skriver ut vad jag vill skall hända så det blir rätt gjort direkt :)
Efter jag tryckt på alt,shift,s skall ett popup-fönster (utan statusbar etc, bredd 335px - höjd 420px) öppnas, sökvägen till filen som skall visas i fönstret är "info/stats.asp"
Tack på förhand :)
Ja, jag märker det :e
Det kanske är ett tecken på att John Blund skulle vilja ha en diskussion med mig nu...
:)
Tyvärr så genererar [ctrl] inte någon keyCode.
Det var konstigt. Följande genererar iallafall talet 17 för mig:
document.onkeydown = function(){
alert(event.keyCode);
}
:)
Ahh... hittade just event.altKey och event.ctrlKey :)
sh=0; s=0;
document.onkeydown = function(){
if(event.keyCode==16) sh=new Date().getTime();
if(event.keyCode==83) s=new Date().getTime();
var now=new Date().getTime();
if(now-sh<500&&now-s<500&&event.altKey){
window.open("info/stats.asp","","height=420,width=335");
}
}
Det var konstigt. Följande genererar iallafall talet 17 för mig.
Det kan nog skilja från version till version av webbläsare. Jag vet att jag provat förrut utan få någon keyCode på dessa tangenter, men i IE6.0 verkar det fungera i alla fall.
Detta är dock snyggare;
var keyboard=new Object();
document.onkeyup = function(){ keyboard[event.keyCode]=false; }
document.onkeydown = function(){
keyboard[event.keyCode]=true;
if(keyboard[83]&&event.shiftKey&&event.altKey){
window.open("info/stats.asp","","height=420,width=335");
}
}
([alt]+[shift]+"s" alltså)
För att det inte skall fungera att endast trycka "alt"+"shift" efter att fönstret "poppat" upp för första gången, kan du modifiera koden lite grand:
document.onkeydown = function(){
keyboard[event.keyCode]=true;
if(keyboard[83]&&event.shiftKey&&event.altKey){
window.open("info/stats.asp","","height=420,width=335");
[B]keyboard[event.keyCode]=false;[/B]
}
}
:)
oj.. nu kommer inget fönster upp.. piper bara till när jag trycker ner knapparna..
Peter S skrev:
För att det inte skall fungera att endast trycka "alt"+"shift" efter att fönstret "poppat" upp för första gången...
Du har missat onkeyup-eventet;
document.onkeyup = function(){ keyboard[event.keyCode]=false; }
#L# skrev:
oj.. nu kommer inget fönster upp.. piper bara till när jag trycker ner knapparna..
Kolla så att din tangentbordkombination inte krockar med någon som används av operativet eller Internet Explorer, ellet något annat program. [alt]+[shift]+s funkar bra för mig. [ctrl]+[shift]+"anykey" krockar ofta med ICQ till exempel.
[r]Jojoxx han före[/r]