-->

使用jQuery听keydown事件(Using jQuery to listen to keydo

2019-08-17 00:24发布

我希望当按下回车键,在HTML将被注入动态检测。

按下回车键时,简单地检测,我可以这样做:

$('#textfield').keydown(function (e){
    if(e.keyCode == 13){
        console.log('Enter was pressed');
    }
})

此代码适用于on()但我担心这是低效的,因为jQuery将检查每一个键被按下的时间。 有什么低效的这件事吗?

$('body').on('keydown','#textfield', function(event) {
  if (event.keyCode == 13) {
    console.log('Enter was pressed');
  }
}

Answer 1:

如果你想在页面上的任何地方拍摄按键 -

$(document).keypress(function(e) {
  if(e.which == 13) {
    // enter pressed
  }
});

不要担心这个检查每一个按键,真的是不把对浏览器的任何显著负荷的事实。



Answer 2:

你仍然可以使用。对()

$(document).off('keyup#textfield');

$(document).on('keyup#textfield', function(event) {
    if (event.keyCode == 13) {
         console.log('Enter was pressed');
    }
});


Answer 3:

在实际应用中,什么你不用担心。 浏览器已经将要冒泡这种情况下,即使它可能被捕获body并运行委派的事件选择,这不是jQuery来进行深刻的或困难的实际检查,尤其是在使用专用ID选择。



文章来源: Using jQuery to listen to keydown event