input输入框file类型第二次不触发onchange事件的解决办法,简单有效
2018-02-06 14:15
218 查看
在网上看了很多办法,现在将网上大部分说法总结如下:
网上说法:
原因:选择一次后onchange事件没有绑定到input标签上;
解决办法:拷贝一份input标签的副本,每次选择后对原input标签进行替换。
我觉得网上给出的办法每次都要做回调,太麻烦了。应该还有更简单的做法。
探究input输入框file类型第二次不触发onchange事件的根本原因,可以知道:(1) 原来是 ajaxFileUpload 插件造成的,它会把原来的file元素替换成新的file元素,所以之前绑定的change事件就失效了。(2)上传时,当第二次点击同一个文件,由于value值没有发生变化,无法触发change/onchange事件。
所以,问题的关键是input 的value 值!!!
我的做法:
只需要在选择一次后将input标签的value属性置为空即可,即
$('#inputId').val(''),简单粗暴有效。
相关文章推荐
- input输入框file类型选择同样输入框第二次不触发onchange事件的解决办法
- html input的file文件输入框onchange事件触发一次失效解决方法
- [Phonegap+Sencha Touch] 移动开发16 安卓webview中,input输入框不触发backspace回退键事件的解决办法(带来其他bug,作废)
- html input的file文件输入框onchange事件触发一次失效解决方法
- 解决UIScrollView截获touch事件的一个极其简单有效的办法
- js动态改变value 不触发onchange事件解决办法
- javascript触发input:file的选择事件及只触发一次的解决
- jquery多种方式实现输入框input触发事件之oninput,onpropertychange,onchange事件及区别...
- 使用委托控件触发input file的时候,IE10以下报错SCRIPT:5拒绝访问解决办法
- 图片上传时input file change事件多次触发解决
- FileSystemWatcher事件多次触发解决办法
- C#.NET 中按钮点击一次刷新,第二次才会触发按钮事件解决办法
- ajax回调函数中不能触发input[type='file']事件的解决方法
- Opera浏览器在输入法开启情况下无法触发键盘事件的解决办法——oninput事件
- input的onchange事件实际触发条件与解决方法
- input的onchange事件实际触发条件与解决方法
- 解决 html input file onchang 事件触发一次后失效问题
- c#的FileSystemWatcher对象监视文件的变化的事件,无休止的触发事件的解决办法
- 解决Jquery对input file控件的onchange事件只生效一次的问题
- 图片上传时input file change事件多次触发解决