HTML5拖放文件字段

时间:2012-06-02 05:16:30

标签: javascript jquery html5 file-upload

我希望通过拖放功能增强关键表单。我知道现代浏览器能够通过HTML5文件API实现这一目标。

但是我不希望即时上传或上传多个文件,我只是想为你们制作文件字段的重复功能。

在做了一些研究之后,我发现HTML5文件API需要从表单的其余部分(lame)进行独立上传。这不是理想的行为。

因此,我考虑制作一个标准文件字段并将其设置为position : absolute; visibility : hidden;,并且必须通过.mousemove在dropZone中使用鼠标。但这是不可能的,因为当用户抓住他们的文件时,浏览器窗口没有焦点!

我还尝试使文件字段变得庞大且不可见,但是不可能以这种方式设置字段样式。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

以下是最终工作的内容,我将香草上传字段设置为opacity : 0,当鼠标位于可见的dropZone div上时,通过'dragover'事件将其置于鼠标下方

'dragover'克服了浏览器窗口失焦的问题,并提供了.pageX.pageY,然后我将其绑定到不可见文件字段.top和{{} 1}}。

然而,在osx与Windows操作系统上,文件字段的结果位置是不同的,因此必须根据操作系统适当地放置文件字段。我正在粘贴下面的工作代码,我编写了一个可以检测浏览器,操作系统和设备的库。因此,您需要找到自己的方法来检测osx vs windows。

.left