Javascript <;输入类型=";文件"/&燃气轮机;onChange与onInput?

Javascript <;输入类型=";文件"/&燃气轮机;onChange与onInput?,javascript,html,Javascript,Html,根据我的理解,输入字段的change和input事件之间的区别在于,只有在失去字段焦点时才会发生更改。这似乎只适用于文本字段,或者可能是组合日期/时间输入或类似的内容。对于在单个事务中发生的多个更改实际上没有意义的其他类型的输入,这两个事件之间是否存在某种功能上的差异?特别是文件输入?任何表单字段(隐藏表单字段除外)都可以获得/失去焦点(选择,文本区域,按钮,等等)。change事件仅在您希望延迟执行回调直到完成任何编辑时使用,而input用于“实时”执行回调,这对于评估密码强度、有效性检查、,

根据我的理解,输入字段的
change
input
事件之间的区别在于,只有在失去字段焦点时才会发生更改。这似乎只适用于文本字段,或者可能是组合日期/时间输入或类似的内容。对于在单个事务中发生的多个更改实际上没有意义的其他类型的输入,这两个事件之间是否存在某种功能上的差异?特别是文件输入?

任何表单字段(隐藏表单字段除外)都可以获得/失去焦点(
选择
文本区域
按钮
,等等)。
change
事件仅在您希望延迟执行回调直到完成任何编辑时使用,而
input
用于“实时”执行回调,这对于评估密码强度、有效性检查、,或过滤结果。

任何表单字段(隐藏表单字段除外)都可以获得/失去焦点(
选择
文本区域
按钮
,等等)。
change
事件仅在您希望延迟执行回调直到完成任何编辑时使用,而
input
用于“实时”执行回调,这对于评估密码强度、有效性检查、,或过滤结果。

一旦元素的值更改,
输入事件就会发生。提交新值时会发生
更改
事件

对于大多数元素,这些操作同时发生:选中复选框、切换单选按钮、从菜单中选择新选项


但有些元素在用户修改时具有中间状态。更新文本输入时,
输入
事件会立即发生,但是
更改
事件不会发生,直到您通过失去焦点或提交表单提交更改。我还没有测试过它,但我认为滑块会在拖动拇指时触发
input
,但在释放它之前不会触发
change

一旦元素的值发生变化,就会发生
input
事件。提交新值时会发生
更改
事件

对于大多数元素,这些操作同时发生:选中复选框、切换单选按钮、从菜单中选择新选项


但有些元素在用户修改时具有中间状态。更新文本输入时,
输入
事件会立即发生,但是
更改
事件不会发生,直到您通过失去焦点或提交表单提交更改。我还没有测试过它,但我认为滑块会在你拖动拇指时触发
输入
,但在你释放它之前不会触发
更改

有关更具体的信息,MDN是解决这类问题的一个非常好的来源。是的,但是react将onChange事件附加到输入事件,因此这种区别可能不重要,并且在某些代码基础上无法区分。值得注意的是,on change应该触发每一个更改,但它不会因为他们如何处理而做出反应。如果您使用的是react,则可能会引起混淆。这是一篇相关的帖子:。对于更具体的信息,MDN是这些问题的一个很好的来源。是的,但是react将onChange事件附加到输入事件,因此这种区别可能不重要,并且在某些代码基础上无法区分。值得注意的是,on change应该触发每一个更改,但它不会因为他们如何处理而做出反应。如果您使用的是react,则可能会引起混淆。这里有一个相关的帖子:。