将文件从磁盘拖放到输入框时,“change”事件不会因输入type ='file'元素而被触发。相同的代码适用于其他主流浏览器,但在Firefox 15及更高版本中不起作用。
$("input[type='file']").change(
function(){
// Do form submit
}
);
实现相同目标的黑客方法是使用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+中不起作用