我正在使用GXT进行UI开发。我已经使用HTML5将文件从桌面拖到应用程序中并上传。但是现在我有相反的要求。我想将文件从浏览器拖动到桌面,这会将文件下载到桌面。

我知道只有在Chrome中才有可能。并检查了以下演示:
http://www.thecssninja.com/javascript/gmail-dragout

我曾尝试在我的GXT应用程序中实现上述代码,但问题是我使用的是支持DnD到TreePanel的可编辑网格。现在,当我从网格拖动到桌面时,我认为它没有捕获浏览器事件(可能是我在这里错了)。

任何想法,应该怎么做?

谢谢。

下面是在将数据插入Grid之后调用的一小段代码。所有记录的CSS类名称均为“ .icon”。问题是当我开始拖动时,“ dragstart”没有被调用。有什么建议吗?

注意:当我创建Buttons,Label等并使它们与其他必需参数成为draggable = 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);
}


}-* /;

最佳答案

我使用了它,它成功执行,不,您不应该在代码中检查其他位置。

关于java - 将下载从GXT网格拖放到桌面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10055074/

10-13 00:12