将文件从磁盘拖放到输入框时,不会为 input type='file' 元素触发“更改”事件。相同的代码适用于其他主要浏览器,但不适用于 Firefox 15 及更高版本。
$("input[type='file']").change(
function(){
// Do form submit
}
);
实现相同目的的一种 hack-ish 方法是使用 setTimeout 和 HTML5 'drop' 事件。
$("input[type='file']").on('drop',function(event){
this.files = event.originalEvent.dataTransfer.files;
setTimeout(function(){
// Do form submit
}, 0); // Note that the timeout is 0ms
});
不确定这是否是最好的方法......
PS:不使用 setTimeout(..) 直接提交表单在 FF 15+ 中不起作用