首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并onkeydown函数

合并onkeydown函数
EN

Stack Overflow用户
提问于 2017-10-12 20:55:59
回答 2查看 75关注 0票数 0

我正在尝试合并两次"onkeydown“函数,因为它不能一起工作。代码如下:

函数-1

代码语言:javascript
复制
document.onkeydown = checkKeycode
function checkKeycode(e) {
  var event = e || window.event;
  var keycode = event.which || event.keyCode;

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

函数-2

代码语言:javascript
复制
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不工作时。

EN

回答 2

Stack Overflow用户

发布于 2017-10-12 21:00:49

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

代码语言:javascript
复制
document.addEventListener('keyDown', checkKeycode);

然后,您可以添加第二个函数,它将正常工作

票数 1
EN

Stack Overflow用户

发布于 2017-10-12 21:03:06

这是行不通的,因为第二个函数覆盖了第一个函数。

示例:

代码语言:javascript
复制
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并在事件上触发函数,如下所示:

代码语言:javascript
复制
document.addEventListener('keyDown', function1);
document.addEventListener('keyDown', function2);
// both function will execute on keyDown event
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46710198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档