2012-10-25 48 views
0

我有一个有菜单的html页面。菜单有一个JavaScript。 在这个JavaScript如果键盘按键1被按下,然后我打电话给第一个菜单的链接,这是工作正常,但现在需求增加到17-18菜单。也就是说,如果用户按16(即键1,然后键6),则必须显示第16个编号的菜单。我需要帮助确定哪两个键同时按下。JavaScript来检测哪个键盘按键被点击

if(event.keyCode==49) 
      { 
       self.location="pages/abc/finishgoods.jsp"; 

      } 
      if(event.keyCode==50) 
      { 
       window.navigate("pages/submenu.jsp"); 

      } 

任何人都可以帮助我检测到这一点。因为我的网页是沿着这些线路IE 6

+8

jQuery的支持IE6 – Aesthete

+0

@唯美主义者。谢谢。我认为它有有限的支持,我尝试了日历(日期选择器),但我正面临性能问题,因为我正在为手持设备制作它。 –

+0

正如你提到的datepicker,我想你是在谈论jQuery UI,这与jQuery –

回答

1

东西我不能使用jQuery的(未经测试,但理论是这里)

var current_keys = [], // to store keypresses 
    key_timer; 

// on press, store the current key and give the user a little while to press another 
// on keypress { 
    current_keys.push(event.keyCode); 
    clearTimeout(keyTimer); // refresh the timer 
    keyTimer = setTimeout(interpret_keys, 250); 
// } 

// they've had their chance, work out what they pressed 
function interpret_keys() 
{ 
    var keys = -1 
     key, 
     i = 0; 

    for (i; i < current_keys.length; i++) 
    { 
    key = current_keys[i] - 48; // turn 48 to 0, 49 to 1, etc 
    key >= 0 && key <= 9 && keys += '' + key; // only 0-9 is valid here 
    } 

    keys = parseInt(keys); // make sure it's a number 
    current_keys = []; // reset the tracking variable 

    // keys now contains (theoretically) a number such as 1, 2, 16, etc, which can map to your selectable item 
} 
+0

嘿,谢谢乔。代码工作正常。+ 1从我这里开始工作,因为早上你很快为我破解了它。谢谢。 –