Cybaer: onKeydown anstatt onlick

Beitrag lesen

Hi,

// Tastatur-Steuerung
function defMenu(menuChar,order) {
 var i;
 for(i=0;i<menuChar.length;i++) {
  menu[menuChar.charCodeAt(i)]=order;
 }
}

function initKeyMenu(type) {
 if(String.fromCharCode) {
  menu=new Array();

// Default-Menuesteuerung "numerisch", wenn type nicht oder als true uebergeben wurde
  if(typeof(type)=="undefined" || (typeof(type)=="boolean" && type)) { type="num"; }

if(type.indexOf("num")+1) {
   defMenu("1!",1);
   defMenu("2"",2);
   defMenu("3§",3);
   defMenu("4$",4);
   defMenu("5%",5);
   defMenu("6&",6);
   defMenu("7/",7);
   defMenu("8(",8);
   defMenu("9)",9);
   defMenu("0=",10);
  }
  if(type.indexOf("alpha")+1) {
   defMenu("aA",1);
   defMenu("bB",2);
   defMenu("cC",3);
   defMenu("dD",4);
   defMenu("eE",5);
   defMenu("fF",6);
   defMenu("gG",7);
   defMenu("hH",8);
   defMenu("iI",9);
   defMenu("jJ",10);
  }
  if(menu.length) {
   if(document.captureEvents) { document.captureEvents(Event.KEYPRESS); }
   document.onkeypress=keyMenu;
   allowKeyMenu=true;
  }
 }
}
function keyMenu(evt) {
 var code, e=evt || window.event;
 if(document.layers) {
  if(e.which>0) { code=e.which; }
 } else if(document.all) {
  if(e.keyCode>0) { code=e.keyCode; }
 } else if(document.getElementById) {
  if(e.charCode>0) { code=e.charCode; }
 }
 if(allowKeyMenu && code && code>=0 && menu[code]) {
  selectInput(menu[code],true)
 }
}

Und in selectInput() wird bei mir der zur Taste gehörige Radiobutton gesetzt. Du kannst dann ja was anderes machen.

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!