Javascript 如何为要拖入的图像创建拖放区域?

Javascript 如何为要拖入的图像创建拖放区域?,javascript,Javascript,javascript或html是否可以为用户拖动的图像创建一个放置区域?我想它是一个图像占位符,当页面处于活动状态时,它将接受拖到其中的图像。图像来自何处?如果您希望能够从网页本身拖动图像,这是可能的,但如果您希望从外部删除图像,则使用JavaScript根本不可能做到这一点。现在很难 编辑:正如@John Boker提到的,这是可能的,但目前,API是高度非标准的,并且在不同浏览器之间差异很大。HTML5将为此支持一个标准且更简单的API,但HTML5本身还不是一个标准 一些资源: -目前仅

javascript或html是否可以为用户拖动的图像创建一个放置区域?我想它是一个图像占位符,当页面处于活动状态时,它将接受拖到其中的图像。

图像来自何处?如果您希望能够从网页本身拖动图像,这是可能的,但如果您希望从外部删除图像,则使用JavaScript根本不可能做到这一点。现在很难

编辑:正如@John Boker提到的,这是可能的,但目前,API是高度非标准的,并且在不同浏览器之间差异很大。HTML5将为此支持一个标准且更简单的API,但HTML5本身还不是一个标准

一些资源:

  • -目前仅适用于Firefox,有望很快成为标准
  • -仅适用于IE

简短回答:可以,但您的浏览器需要支持作为HTML5一部分的拖放和文件API。目前,只有Chrome8+和Firefox3.6+

2011年7月更新:当前支持此功能的浏览器有Chrome、Firefox、Safari 6(如果使用FormData对象,则为Safari 5)和IE 10 Preview 2。更多信息

IE8和IE9不起作用,不确定IE9最终版是否会改变这一点

Safari 5(就像苹果鼓吹的HTML5一样)不支持必要的文件API,并且无法识别本机资源的DnD(页面中的DnD可以正常工作,但这只是问题的一半)。你可以在Safari 5中通过使用一种技巧来解决这个问题,即设置一个“FILE”类型的输入字段的样式,使其实际上不显示文件路径栏,并利用这样一个事实,即拖放到Safari中的文件上传框中实际上插入了完整的文件名——你可以使用一些JavaScript在拖放和viola时立即触发上传。这是专门针对那个黑客的

Opera似乎不支持这两种API——我已经读到,他们正在等待HTML5规范之战的结束,直到尘埃落定,然后添加对实现这一点所需的API的支持

实际上,我是上面链接的作者,并使用该方法实现了您想要的功能——如果您想将JavaScript下拉并查看我是如何实现的,JavaScript会被大量注释


希望能有所帮助。

最近非常流行。

可以将文件从桌面拖到网站上,尽管这并不容易。gmail附件就是一个例子。将一个文件拖到您正在撰写的电子邮件上,它将添加/上载该文件。@user441207:我添加了一些链接。仅对最新版本的浏览器有效,但这是一个非常好的JS小部件。@EsteveCamps支持拖放上载所需的API只有现代浏览器才支持。因此,这并不是DropzoneJS的限制——它甚至为较旧的浏览器提供了一个后备方案。