0

我不确定如何使用纯 JavaScript 执行“keydown”。

这是我用 jQuery 做的,但是有没有办法用纯 JS 做同样的事情呢?我只是想检查是否有办法并学习如何去做,以及查看代码的差异和长度。谢谢你。

$('body').on('keydown', function(e) {
    if (e.keyCode === 27) return false;
});

编辑:它用于禁用“Esc”按钮!

4

4 回答 4

3

我不喜欢将侦听器设置为属性,所以我什至添加了这样的侦听器:

var ele = document.getElementById('test');
ele.addEventListener('keydown', function() {
    //code
}, false);
于 2013-03-12T13:13:55.397 回答
1

干得好

document.body.onkeydown = function(e) {
    if (e.keyCode === 27) return false;
}

如您所见,jQuery 更短,但这将执行更少的代码

于 2013-03-12T13:11:12.233 回答
0

在纯 javascript 中,它是通过这种方式完成的

document.body.onkeydown=function(e){
  key=e.keyCode || e.charCode|| e.which; //cross browser complications
  if(key===27){
    return false;
  }
}

希望它有所帮助,它与您提供的 JQuery 脚本相同

于 2013-03-12T13:18:12.040 回答
0

尝试这个,

HTML

<body onkeydown="YourFunction(event)">...</body>

JS

function YourFunction(e)
{
     var unicode=e.keyCode || e.charCode|| e.which;
     if(unicode == 27)
        return false;
     else
     {
        //Your code...
     } 
}
于 2013-03-12T13:15:22.267 回答