webForumDet fria alternativet
Logga in / Bli medlem

Kontrollera knapptryckningar i Mozilla

JavaScript

4 svar · 262 visningar · startad av orreborre

Medlem sedan aug. 20032 inlägg
Trådstart#1

Hej!
Jag undrar om någon kan hjälpa mig att kontrollera om någon trycker ner ctrl(ascii 17) och enter(ascii 13) samtidigt.
När detta görs ska en form submittas.

Jag har gjort kod för IE som funkar jättebra, men jag har inte lyckats med Mozilla än.

Tacksam för svar!

Mvh

Medlem sedan juni 20004 308 inlägg
#2

Litet exempel:

if (!document.all){ document.captureEvents(Event.KEYDOWN|Event.KEYUP); } 
var keyboard=new Object();
window.onblur = function(){ for(var a in keyboard){ keyboard[a]=false; }}
document.onkeyup = function(e){
	var keycode=(document.all)?event.keyCode:e.which;
	if(keycode>0){ keyboard[keycode]=false; }
}
document.onkeydown = function(e){
	var keycode=(document.all)?event.keyCode:e.which;
	if(keycode>0){ keyboard[keycode]=true; }
	if(keyboard[13]&&keyboard[17]){ alert("Nu händer det saker."); document.myform.submit(); }
}

Välkommen till wF förresten.

Medlem sedan juli 2003303 inlägg
#3

Uppenbarligen ska man kunna använda event-objektets property modifiers för detta ändamål, men jag lyckas inte få ihop något. Jag efterlyser därför en lösning på detta.

Medlem sedan juni 20004 308 inlägg
#4

Visst:

if (!document.all){ document.captureEvents(Event.KEYDOWN|Event.KEYUP); } 
var keyboard=new Object();
window.onblur = function(){ for(var a in keyboard){ keyboard[a]=false; }}
document.onkeyup = function(e){
	if(!document.all){ event=e; }
	if(event.keyCode>0){ keyboard[event.keyCode]=false; }
}
document.onkeydown = function(e){
	if(!document.all){ event=e; }
	if(event.keyCode>0){ keyboard[event.keyCode]=true; }
	if(keyboard[13]&&event.ctrlKey){ alert("Nu händer det saker."); document.myform.submit(); }
}
Medlem sedan aug. 20032 inlägg
#5

Jojoxx: Tackar för välkomnandet!

Och tack för din kod, det funkar perfekt!

257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)