"Leif Neland" <leif@neland.dk> skrev i en meddelelse 
news:4b73c448$0$36582$edfadb0f@dtext01.news.tele.dk...
> Vi har et antal stregkodelæsere, der er sat op til at sende ALT-S før 
> stregkoden kommer.
>
> På websiden vi bruger til at styre varelageret med er der sat 
> accesskey="S", så cursoren automatisk hopper til feltet, hvor stregkoden 
> skal indlæses.
>
> Men nu har jeg en formular, hvor der skal indlæses mange stregkoder.
>
> Fjerner jeg accesskey="S", åbner IE dropdownmenuen "viS" når der scannes 
> en stregkode.
> Sætter jeg accesskey="S" på alle stregkodefelterne, hopper cursoren ud af 
> det stregkodefelt man har sat den i, og videre til det næste 
> stregkodefelt, når der scannes en stregkode.
>
> Jeg har prøvet med 
> 
http://www.openjs.com/scripts/events/keyboard_shortcuts/# der kan fange 
> keyboard-shortcuts, og kalde en javascript-funktion. Men selvom Alt+S 
> fanges, så åbner IE alligevel dropdownmenuen "viS".
propagate er sat til false, gjorde ingen forskel.
det fungerer i firefox, men det er ikke muligt at få alle til at skifte, 
specielt ikke før jeg har fået skiftet en html-editor ud med CKeditor, så 
_det_ virker i firefox.
> Ideer? Jeg vil helst ikke til at programmere alle stregkodelæserne om til 
> at sende et andet prefix...
Jeg løste det med at lave en onFocus='setaccess(this)' på stregkodefelterne.
 function setaccess(felt) {
  var felter=document.getElementsByTagName("input")
  for (var n=0;n<felter.length;n++) {
   if (felter[n].type=="text" && felter[n].accessKey=="S") {
    felter[n].accessKey="";
   }
  };
  felt.accessKey="S";
 }
Fjern alle accessKey="S" og føj det til det felt, der er focus på, så Alt+S 
ikke flytter focus.
Leif