为什么“输入”事件不会在文件输入上触发,但“更改”事件会触发
Why do 'input' events not fire on file inputs, but 'change' events do?
测试一个简单的输入:
<input type="file"/>
选择新文件时,不会触发 input
事件:
$('input').on('input', function(event){
console.log('input value changed', event.target.value)
})
http://jsfiddle.net/baLn0sfy/
change
事件触发:
$('input').on('change', function(event){
console.log('input value changed', event.target.value)
})
http://jsfiddle.net/fzegLugd/
为什么"输入"事件不触发?
根据
W3.org,对于文件输入,"输入事件不适用"。(请参阅簿记详细信息下的最后一个项目符号)。
输入事件支持的元素仅限于 textArea,输入类型=文本,或输入类型=密码。从 MSDN:
更改元素的文本内容时发生输入事件 通过用户界面。
您可以使用 oninput 来检测文本区域的内容何时, 输入类型=文本,或输入类型=密码已更改。此事件 修改后立即发生,与 OnChange 事件不同, 当元素失去焦点时发生。
相关文章:
- 是否可以为HTML5输入滑块触发oninput事件
- 使用onkeyup JS事件检查输入的值是否唯一
- 访问代码生成的输入元素上的keyup事件
- 无线电输入更改的jQuery事件未启动
- JS事件未更改输入禁用属性
- 在表单中的输入字段上提交事件
- 是否可以在数字输入框中的小按钮中添加事件侦听器
- 如何获取按钮点击事件输入的当前值
- 在放置目标时,输入并离开自定义事件
- 为什么不是't;输入“;此处触发事件
- 替代输入:基于按钮点击事件的文本更改处理程序
- 检查 jQuery 中的递增-递减事件输入类型编号
- Ng-model绑定触摸事件输入的值失败
- 从onkeyup事件输入触发JS函数
- 用于关键事件输入验证的Javascript正则表达式故障排除帮助
- Jquery在点击事件输入
- 如何检测javascript事件输入的变化
- 更改事件输入字符
- 触发多个事件/输入字段的功能并计算它们
- 组合组件上的onBlur事件(输入+按钮)