使用onkeydown事件触发函数

时间:2017-09-28 17:20:29

标签: javascript html

我使用javascript和html制作了一个cookie点击器,目前我已经制作了这样的点击图片,它会触发一个提高你得分的功能。我想这样做,以便您只需单击键盘上的任何按钮来激发相同的功能,而不是只能单击图像。我只看到了在输入字段中执行此操作的代码。我不确定“document.addEventListener(”keydown“,function())”是否是我正在寻找的东西。

4 个答案:

答案 0 :(得分:0)

尝试:

document.onkeydown = function() {
    console.log('my code');
};

编辑(或):

document.onkeydown = myFn;

答案 1 :(得分:0)

要收听按键,您可以在文档

上添加keydown事件
document.addEventListener("keydown", callBack, false);

function callBack(e) {
  var keyCode = e.keyCode;
  console.log(keyCode);
}

答案 2 :(得分:0)

只需为您的活动分配一个事件处理程序。

如果要为整个文档分配,请使用:

document.addEventListener("keydown", keyDownTextField, false);

document.getElementById("yourinput").addEventListener("keydown", keyDownTextField, false);

function keyDownTextField(e) {
  console.log(e.keyCode);
}
<input id="yourinput" type="text" />

答案 3 :(得分:0)

document.addEventListener('keydown', () => {
   console.log('a');
});

应该有用。

但是,某些浏览器不提供文档焦点,这是keydown事件所必需的。

这种经典的方法(更普遍地运作)是创建一个屏幕外的<input>元素,并给它一个blur事件,以便在它丢失时重新获得焦点。这将强制焦点始终保持在该输入上,然后它可以接收关键事件。

const input = document.createElement('input');
input.style.position = 'absolute';
input.style.left = '-100000px';
input.addEventListener('blur', () => input.focus());
input.addEventListener('keydown', () => console.log('key down'));
document.body.appendChild(input);
input.focus();

此代码:   - 创建一个新的输入元素   - 将它绝对放在屏幕左侧(因此不可见)   - 添加一个自动获得焦点的模糊事件   - 添加keydown事件本身