INPUT元素的“change”和“input”事件有什么区别?

有人能告诉我changeinput事件之间的区别是什么?

我正在使用jQuery来添加它们:

 $('input[type="text"]').on('change', function() { alert($(this).val()); }) 

它也适用于input而不是change

也许在事件顺序相对于重点有所不同?

根据这个职位 :

  • 当通过用户界面更改元素的文本内容时,发生oninput事件。

  • 当select,检查状态或元素的内容改变时,发生onchange 。 在某些情况下,只有当元素失去焦点时才会发生。 onchange属性可用于: <input><select><textarea>

我创build了演示这些事情的演示 。

  • change event在大多数浏览器中发生,当内容发生改变时,元素失去focus ,基本上是一系列变化。 与input event不同,您不会看到每一次都发生这种情况。

  • input event随着元素内容的变化而同步触发。 所以你会看到这个事件经常发生。 浏览器支持变化。