0

UI開発にはGXTを使用しています。デスクトップからアプリケーションにファイルをドラッグしてアップロードするために HTML5 を使用しました。しかし今、私は逆の要件を抱えています。ファイルをブラウザからデスクトップにドラッグして、ファイルをデスクトップにダウンロードしたいと考えています。

Chromeでのみ可能であることは知っています。そして、以下のデモをチェックしました: http://www.thecssninja.com/javascript/gmail-dragout

上記のコードを GXT アプリケーションに実装しようとしましたが、問題は、TreePanel への DnD をサポートする編集可能グリッドを使用していることです。グリッドからデスクトップにドラッグすると、ブラウザー イベントがキャプチャされていないと思います (ここで間違っている可能性があります)。

どのように行うべきですか?

ありがとう。

以下は、データがグリッドに挿入された後に呼び出す小さなコードです。すべてのレコードの CSS クラス名は".icon"です。問題は、ドラッグを開始すると、「ドラッグスタート」が呼び出されないことです。なにか提案を?

注: このコードは、ボタン、ラベルなどを作成し、他の必要なパラメーターを使用してドラッグ可能 = 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 に答える