0

我正在使用 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);
}

}-*/;

4

1 回答 1

1

我使用了它,它成功执行,不,你应该检查代码中的其他地方。

于 2012-04-07T23:28:11.467 回答