Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript来检测单击了哪两个键盘键_Javascript_Html - Fatal编程技术网

javascript来检测单击了哪两个键盘键

javascript来检测单击了哪两个键盘键,javascript,html,Javascript,Html,我有一个html页面,上面有菜单。菜单上有一个javascript。 在这个javascript中,如果按下键盘键1,那么我调用第一个菜单的链接,这工作正常,但现在要求增加到17-18个菜单。也就是说,如果用户按16键(即1键和6键),则必须显示第16个编号的菜单。我需要帮助确定同时按下了哪两个键 if(event.keyCode==49) { self.location="pages/abc/finishgoods.jsp";

我有一个html页面,上面有菜单。菜单上有一个javascript。 在这个javascript中,如果按下键盘键1,那么我调用第一个菜单的链接,这工作正常,但现在要求增加到17-18个菜单。也就是说,如果用户按16键(即1键和6键),则必须显示第16个编号的菜单。我需要帮助确定同时按下了哪两个键

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

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

            }

有人能帮我检测一下吗。我不能使用jquery,因为我的页面是针对IE6的(未经测试,但理论在这里)

var current_keys=[],//用于存储按键
按键定时器;
//按下时,存储当前键,并给用户一点时间按下另一个键
//按键{
当前按键(事件按键代码);
clearTimeout(keyTimer);//刷新计时器
keyTimer=设置超时(解释按键,250);
// }
//他们已经有机会了,弄清楚他们在逼什么
函数解释_键()
{
变量键=-1
钥匙
i=0;
对于(i;ikey>=0&&key jQuery支持IE6@Aesthete。谢谢。我认为它的支持有限,我尝试了日历(datepicker)但是我在为手持设备制作时遇到了性能问题。正如你提到的datepicker,我想你说的是jQuery UI,它与jQueryTanks Igor不一样。你的意思是我可以直接在其中使用jQuery。而且它在windows手持设备中也可以正常工作。你能共享相同的代码吗?你不能实现我的功能在某种程度上,你可以记住最后一次按键,所以说如果第一次是1,那么第二次是16,那么你说o是16?嘿,非常感谢乔。代码运行良好。+1来自我。我从早上就开始工作了。你很快为我破解了它。谢谢。
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
}