2010-12-11 53 views

回答

19

的“按键”事件是(原文IE的形式,和在Safari /铬)大约的实际字符被添加到文本域。退格键显然不会为字段值添加新字符,因此不会导致按键事件。

对于生成打字事件,Firefox和Opera有点儿无奈。

PPK(quirksmodeconsiders the IE and Webkit behaviors to be the sensible ones,我非常同意。

+0

这可能是明智的,但它会降低事件IMO的有效性。也许这只是习惯,但我经常使用按键(在其他语言中,如果按下的按键具有ASCII值,事件触发),当用户将所有文本从输入框中退出时,BS按键会禁用按钮等功能。 – BobRodes 2013-08-11 20:11:52

19

尝试使用​​和keyup函数代替IE。

Javascript e.keyCode doesn't catch Backspace/Del in IE

+2

看到这个http://jsfiddle.net/EZqMA/ – 2010-12-11 19:46:36

+0

这是一个非常酷的网站,埃里克。我今天学到了东西。 – mdarwi 2010-12-11 19:49:48

+1

@Eric IMO更好地使用'keyup'事件,因为它在释放密钥后发生并且'.value'将返回新值。 – 2010-12-11 19:54:22

0

单独调用onKeyUp将尽在Chrome的所有键盘按键检测..