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

时间:2014-04-10 18:43:11

标签: javascript input javascript-events keypress

如果我有文本框,

<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);

我想确定何时 backspace delete 是输入触发的原因,所以我可以专门处理它们。据我所知,ethis都没有公开被按下以导致输入事件触发的键。有没有办法找出钥匙是什么?

1 个答案:

答案 0 :(得分:1)

&#34;输入&#34;不是您想要捕获的事件。你必须抓住&#34;按键&#34;事件。然后你可以看到&#34; e.keyCode&#34;:

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

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