合并onkeydown函数

时间:2017-10-12 12:55:59

标签: javascript function javascript-events javascript-objects onkeydown

我试图合并两次“onkeydown”功能,因为它不能一起工作。代码如下:

功能 - 1

document.onkeydown = checkKeycode
function checkKeycode(e) {
  var event = e || window.event;
  var keycode = event.which || event.keyCode;

  if (keycode == 91) {
     alert("Windows");
  }
}

功能 - 2

document.onkeydown = function(e){
var n = (window.Event) ? e.which : e.keyCode;
if(n==116 || n==27 || n==112 || n==123 || n==17) return false;
}

var keys = {};

 $(document).keydown(function (e) {
  keys[e.which] = true;
 });

 $(document).keyup(function (e) {
   delete keys[e.which];
});

当运行Function - 1的页面不起作用时。

2 个答案:

答案 0 :(得分:1)

您只能使用一种onkeydown方法。要使其工作,您应该使用eventListener,例如:

document.addEventListener('keyDown', checkKeycode);

然后您可以添加第二个功能,它将起作用

答案 1 :(得分:0)

这不起作用,因为第二个函数会覆盖第一个函数。

示例:

var d;
d = 1;
d = 2;
console.log(d); // prints '2'

var c;
c = () => { return '1'; }; 
c = () => { return '2'; };
console.log(c()); // prints '2'

这些是JavaScript基础知识。

如果您想收听onkeydown事件,则应使用EventListeners并在以下事件中触发您的功能:

document.addEventListener('keyDown', function1);
document.addEventListener('keyDown', function2);
// both function will execute on keyDown event