keyup,keydown,keypress和input事件之间有什么区别?

我一直在尝试理解jQuery keypress,keydown,keyup和输入事件。 但我发现它们很混乱。 有人可以指出确切的区别吗? 此外,我想知道当用户粘贴一段文本时,所有这些都会被触发。
谢谢

根据jQuery文档 :

当浏览器注册键盘输入时, 按键事件将发送到元素。 这类似于keydown事件,除了修饰符和非打印键(如Shift,Esc和delete)触发keydown事件,但不触发keypress事件。 根据平台和浏览器,可能会出现两个事件之间的其他差异。

当用户在键盘上释放键时,键盘事件被发送到元素。

oninput事件是一个在输入发生变化时触发的事件。

但是,在9以下的IE版本中不支持输入事件。在这种情况下,您可以使用专有事件onpropertychange,它与oninput相同。

但在您的情况下,您可以一起使用粘贴更改事件。 您也应该使用更改,因为粘贴仅发生在显式粘贴上支持它的浏览器上。