如何确定导致文本框输入事件触发的键?

问题描述 投票:0回答:1

如果有文本框,

<input id='Sub' type='text'>

每次输入更改时,我都可以捕获:

sub = document.getElementById('Sub');
sub.addEventListener('input', function(e) {
    // here the contents of the textbox is accessible via this.value
    ...
}, false);

我想确定何时backspacedelete是输入触发的原因,所以我可以对其进行特殊处理。据我所知,ethis都没有公开按下导致输入事件触发的键。有没有办法找出关键是什么?

javascript input dom-events keypress
1个回答
1
投票

“ input”不是您要捕获的事件。您必须赶上“按键”事件。然后您可以看到“ e.keyCode”:

var sub = document.getElementById('Sub');
sub.addEventListener('keypress', function(e) {
    console.log(e.keyCode)
}, false);

这里是一个小演示:http://jsfiddle.net/9LZ9Z/

© www.soinside.com 2019 - 2024. All rights reserved.