使用 jQuery 监听 keydown 事件
我想检测何时按下回车键,在 HTML 上动态注入.
I want to detect when the enter key is pressed, on HTML that will be injected dynamically.
要简单地检测何时按下回车键,我可以这样做:
To simply detect when the enter key is pressed, I can do:
$('#textfield').keydown(function (e){
if(e.keyCode == 13){
console.log('Enter was pressed');
}
})
此代码适用于 on()
,但我担心它效率低下,因为 jQuery 会在每次按下键时进行检查.这有什么低效的地方吗?
This code works for on()
, but I am worried it is inefficient since jQuery will check every time a key is pressed. Is there anything inefficient about this?
$('body').on('keydown','#textfield', function(event) {
if (event.keyCode == 13) {
console.log('Enter was pressed');
}
}
推荐答案
如果你想捕捉页面任意位置的按键 -
If you want to capture the keypress anywhere on the page -
$(document).keypress(function(e) {
if(e.which == 13) {
// enter pressed
}
});
不用担心它会检查每个按键,它确实不会给浏览器带来任何显着负载.
Don't worry about the fact this checks for every keypress, it really isn't putting any significant load on the browser.
相关文章