javascript - keyup、keydown、keypress 和 input 事件之间有什么区别?

标签 javascript input

我一直在尝试理解 JavaScript keypresskeydownkeyupinput 事件。但我发现它们很困惑。有人可以指出确切的差异吗?我还想知道当用户粘贴一段文本时是否会触发所有这些操作。

最佳答案

根据jQuery docs :

The keypress event is sent to an element when the browser registers keyboard input. This is similar to the keydown event, except that modifier and non-printing keys such as Shift, Esc, and delete trigger keydown events but not keypress events. Other differences between the two events may arise depending on platform and browser.

The keyup event is sent to an element when the user releases a key on the keyboard.

The oninput event it's an event that triggers whenever the input changes.

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

但就您而言,您可以同时使用粘贴更改事件。您也应该使用更改,因为粘贴仅发生在支持显式粘贴的浏览器上。

关于javascript - keyup、keydown、keypress 和 input 事件之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38502560/

相关文章:

css - 持续显示的 HTML5 输入占位符(即使在输入时?)

c - 使用 fgets() 接收句子输入

html - Unity WebGL - 防止 <Canvas> 吃掉所有鼠标/键盘输入? (HTML 输入字段)

javascript - 无论如何,是否可以将数组返回到不同的网格列

javascript - 如何在 keyup 事件上使用 Jquery 获取动态生成的表的单元格的行索引号?

javascript - 如何将用sketch.js修改的html Canvas 保存到MySQL数据库中

jquery - 自动调整圆 Angular 输入框的大小?

php - html 输入=服务器

javascript - .isAfter 甚至返回 false

javascript - 对象上下文中的变量