0

2 つの異なるコンポーネント (A、B) をロードし、要素を A から B にドラッグ アンド ドロップできます。

コンポーネント B で「自己送信」をトリガーし、ドラッグ ターゲット コンテナーが変更されたときに引数を渡すことは可能ですか? 前もって感謝します。

編集 1: コンポーネント非常に単純なソリューションです。A は要素をドラッグ (および B にドロップ) できるリストを表示し、B は最初は空です。en 要素が B にドロップされた場合、要素に関する情報がコントローラーに渡されるようにしたいと考えています。

編集 2: 一方、要素がドロップされたときにイベントをトリガーできます。Dragula ( http://bevacqua.github.io/dragula/ )という小さなドラッグ アンド ドロップ スクリプトを使用しました。イベントは次のようにトリガーされます。

dragula([document.querySelector(".draggable"),document.querySelector(".drag-target")]).on("drop", function () { console.log("This Works!");});
4

2 に答える 2

1

次のような方法でドラッグ イベントに応答できます。

web2py_component("/app/default/comp_b.load?yourpar=1","comp_b_id");

ここで、comp_b_id は # を除いた component_b の ID です。

于 2015-05-12T08:55:25.587 に答える
0

マッシミリアーノスのヒントとこの答えで、私はこの解決策を思いつきました:

コンポーネント A (ドラッグの開始点) には、次のスクリプトが含まれています。

<script>
    /* Provides Drag and Drop functionality */
    d = dragula([document.querySelector(".drag-start"), document.querySelector(".drag-target")]);
    d.on('drop', function(el) {
        var test1, test2, id;
        test1 = 'test1'; /* Some information */
        id = $('.drag-target').attr('id'); /* The target ID */
        /* Pass data to the controller */
        $.post("{{=URL('controller', 'function')}}"+"/"+test1);
        /* Reload data to the target id */
        x = web2py_component("/app/controller/function.load"+"/"+id);
    });
</script>
于 2015-05-12T10:48:03.070 に答える