0

ドラッグ可能/ドロップ可能なJQuery機能を次のように使用します

div.container {
    height:400px;
}

<div class="container" id="source">
    <div id="0">Item 0</div>
    <div id="1">Item 1</div>
    <div id="2">Item 2</div>
</div>

<div class="container" id="target"></div>

$("#source div").draggable({
    helper:"clone",
        revert:"invalid"
    });

ドラッグ可能なオブジェクトのコンテキスト内にオブジェクトを注入できるかどうかを知りたいのですが。何かのようなもの

var contextualObject = {"property":"value"};

$("#source div").draggable({
    helper:"clone",
        revert:"invalid",
        injected:contextualObject
    });

したがって、ターゲットコンテナでは、次のようなものを使用できます(2番目のアラートステートメントに注意してください)

$("#target").droppable({
    accept:"#source div",
tolerance: "fit",
drop:function(e, ui) {
        alert("You have dropped id " + $(this).attr("id"));

        alert("Its contextual value is: " + $(this).draggable("option", "injected.property"));
}});

どうすればいいですか?

よろしく、

4

1 に答える 1

2

jQuery のデータは、この種のもののために作られています。

$("#source div").draggable({
    helper:"clone",
        revert:"invalid",
        start: function(evt,ui) {
           $(this).data('injected', contextualObject)
        }
    });

次に、ドロップ可能で:

 var obj = $(ui.draggable).data('injected');
 console.log(obj.property);

いくつかのメモ:

  • ui.draggableドラッグアンドドロップされたアイテムを取得するには、ドロップで使用する必要があります。thisドロップされたアイテムです
  • 要素 IDは、数字ではなく文字で始まる必要があります。

ここに動作するデモがあります。

于 2009-09-16T20:19:32.510 に答える