我正在使用 GXT 进行 UI 开发。我使用 HTML5 将文件从桌面拖动到我的应用程序并上传。但现在我有相反的要求。我想将文件从浏览器拖到桌面,这会将文件下载到桌面。
我知道这仅在 Chrome 中是可能的。并检查了以下演示: http ://www.thecssninja.com/javascript/gmail-dragout
我曾尝试在我的 GXT 应用程序中实现上述代码,但问题是我正在使用支持 DnD 到 TreePanel 的可编辑网格。现在,当我从网格拖动到桌面时,我认为它没有捕获浏览器事件(可能我在这里错了)。
有什么想法,应该怎么做?
谢谢。
下面是我在将数据插入网格后调用的一小段代码。所有记录的 CSS 类名称都为".icon"。问题是当我开始拖动时,没有调用“dragstart” 。有什么建议吗?
注意:此代码在我创建按钮、标签等并使用其他必需参数使它们可拖动 = true 时起作用。
public static native void test(String id)/*-{
var files = $doc.querySelectorAll('.icon');
for (var i = 0, file; file = files[i]; ++i) {
file.addEventListener("dragstart",function(evt){
$wnd.alert("Drag Event started.. ");
evt.dataTransfer.setData("DownloadURL",this.dataset.downloadurl);
},false);
}
}-*/;