jQuery:如何在按下2个或更多键后执行代码?

jQuery:如何在按下2个或更多键后执行代码?,jquery,Jquery,还记得你是怎么在GTA上作弊的吗?当我按下某个组合键时,我想在jquery中执行我的代码。这在jQuery中可能吗?例如,我想在按下ctrl+h+e+l+l+o时显示警报。有人能教我怎么做吗?我不确定组合键是否有限制,但应该是可能的。 这是我用来调用函数getContent()的一个示例: 您需要做的是使用ctrl键修改e.keyCode==13(这是enter的代码)并添加所需的其他键 干杯测试和工作: var combo = 'hello'; var keys = []; function

还记得你是怎么在GTA上作弊的吗?当我按下某个组合键时,我想在jquery中执行我的代码。这在jQuery中可能吗?例如,我想在按下ctrl+h+e+l+l+o时显示警报。有人能教我怎么做吗?

我不确定组合键是否有限制,但应该是可能的。 这是我用来调用函数
getContent()
的一个示例:

您需要做的是使用
ctrl
键修改
e.keyCode==13
(这是
enter
的代码)并添加所需的其他键

干杯

测试和工作:

var combo = 'hello';
var keys = [];
function onKeyUp(evt) {
  if (!evt.ctrlKey) return;

  keys.push(String.fromCharCode(evt.keyCode).toLowerCase());
  if (keys.length > combo.length) keys.shift();

  if (keys.join('') == combo) //you have a match

}

好的,我终于想出了这个

var组合='72,73,68,69'//您想要的键码组合,它是'h','i','d','e'
var-imp;
var键=[]//这是我将存储所有密钥代码的地方
$(文档).on('keyup',函数(e){
if(e.which==72 | | e.which==73 | | e.which==68 | | e.which==69)//这是可选的。仅根据您的组合过滤键码。
按键。按下(e.which);
imp=key.join(',');
setTimeout(function(){//在3秒钟后删除存储的密钥码
key.length=0;
}, 3000);
如果(imp==combo){//如果keycode组合等于您的组合,则发出警报
警惕(“我做到了!”);
key.length=0;
}
});

打开按键事件如果按键与您选择的按键匹配,则运行该功能?可能重复
var combo = 'hello';
var keys = [];
function onKeyUp(evt) {
  if (!evt.ctrlKey) return;

  keys.push(String.fromCharCode(evt.keyCode).toLowerCase());
  if (keys.length > combo.length) keys.shift();

  if (keys.join('') == combo) //you have a match

}