如您所知,在 HTML 表单文件字段中,您可以将文件拖放到“选择文件”按钮或显示所选文件的文本字段中。这将选择文件而不使用对话框。我正在使用这种行为,使用不可见且放大的文件字段区域来模拟“拖放区”,无需 HTML5 即可即时上传。
我刚刚更新到 Firefox 15.0.1,发现当从桌面删除文件时,我的文件字段 HTML 表单元素不再触发更改事件。这在 Chrome 21.0.1180.89 和 Safari 5.1.6 中继续为我工作,并且在我更新之前的上周五在 Firefox 中工作。
咖啡脚本
$ ->
fileField = document.getElementById 'file-field'
fileField.addEventListener 'change', file_changed, false
有趣的是,Firefox 允许进行拖放,从而用我的文件填充文件字段,但由于没有触发“更改”事件,我无法自动提交表单以获得即时上传效果。如果有人知道发生了什么,或者可以提出一个精简的替代方案,我将不胜感激:)