0

我试图合并两次“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]; 
}); 

当页面运行功能 - 1不工作。

+0

?这使事情比通常情况下更复杂。 –

回答

1

您只能有一个onkeydown方法。为了使它的工作,你应该用事件监听,例如:

document.addEventListener('keyDown', checkKeycode); 

然后,您可以添加你的第二个功能,它会工作

0

这是行不通的,因为第2个功能覆盖了第一个功能。

实施例:

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