[javascript] globale keyhandler

Pagina: 1
Acties:

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 18-05 13:18
Hoi,

ik ben bezig met een function om in mijn webbased administratie mbv van de toetsen door de verschillende onderdelen te switchen. Mijn collega's zijn gewend aan dos-programma's waar het gebruik van de toetsen het meest snel gaat.

Ik heb al code om de functie toetsen af te vangen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function keyhandler(e) {

  if (typeof e == 'undefined') e = event;

  var key = (typeof e.which == 'undefined')? 0:e.which;
  if (key == 0 && typeof e.keyCode != 'undefined') key = e.keyCode;

  switch(key) {

    case 112:
        window.location.replace('default.asp');
      break;
    case 113:
        window.location.replace('post/post_overview.asp');
      break;

    // etcetera

  }
  // cancel the event
  return cancelEvent(e);

}

(Met dank aan Crisp, gevonden in een ouder topic:)

De replace werkt in principe prima, echter het probleem is dat ik gebruik maak van een mappen-structuur, zodat er soms een andere url moet komen te staan:
../default.asp ipv default.asp

Iemand een idee hoe ik dit het beste kan oplossen?
Ik zou harde paden in het javascript kunnen plaatsen, maar als het mooier kan, dan graag.

Is het misschien mogelijk om aan de keyhandler iets van parameters door te geven? (Lijkt me niet maarja)

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Je zult op 1 of andere manier toch een 'path' variabele moeten hebben om te kijken of er een ../ of niet voor moet. Een parameter aan een event doorgeven kan prima :)

code:
1
onkeydown = keyhandler('bla');

Verwijderd

Andre toch, dat werkt toch zo niet, je kan alleen onkeydown is een functiereferentie:
code:
1
2
3
onkeydown = function() {
  keyhandler('bla');
}

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 18-05 13:18
daar ging ik ook van uit dat dat niet kan. Je geeft maar eenmalig aan wat de keyhandler is.

Ander kort vraagje: is het met deze keyhandler om een toetsen-combinatie af te vangen?

bv alt-1 alt-2 etc.

Op google is er niet zo heel veel over te vinden.

hier wordt wel iets uitgelegd:
http://www.jsmadeeasy.com/javascripts/Advanced/keyhandler/

maar is gebaseerd op een andere principe? Is dit eenvoudig te realiseren?

Verwijderd

Zoek naar modifier keys.
http://www.quirksmode.org/js/events_compinfo.html#prop

[ Voor 54% gewijzigd door Verwijderd op 12-11-2004 12:15 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Verwijderd schreef op 12 november 2004 @ 11:17:
Andre toch, dat werkt toch zo niet, je kan alleen onkeydown is een functiereferentie:
code:
1
2
3
onkeydown = function() {
  keyhandler('bla');
}
:X idd, even verkeerd gedacht ;)
Pagina: 1