こんにちは、ドラッグ アンド ドロップ機能をプロジェクトに実装しようとしていますが、いくつかの点で少し問題があります。私が抱えている問題の 1 つは、カスタム アバターの作成に関するものです。カスタム アバターを作成することはできますが、CSS でいくつかの要素を少しチートして非表示にする必要があります。
以下は、コード全体ではなく、コードのスニペットです。必要なすべてのパッケージなどが必要です。
dojo.query(".canDrag").forEach(function(node, index, nodelist){
var createSource = new dojo.dnd.Source(
node, {copyOnly: true, creator: createAvatar}
);
function createAvatar(item, hint) {
var node = dojo.doc.createElement("span");
dojo.addClass(node, "avatarStyle");
if ( hint == "avatar" ) {
var dHtml = item;
console.log("trying " + dHtml);
node.innerHTML = item;
}
else {
console.log("if this show remove redudant call");
}
return {node: node, data: item, type: "product", copyOnly: true};
};
ご覧のとおり、DnD ソースを作成し、それにカスタム クリエーターを指定して、独自のカスタム アバターを構築しようとしています。実際のドラッグ可能なマークアップは次のとおりです。
<div class="canDrag panelLeft">
<div class="dojoDndItem" dndType="product" title="digitalCamera" id="12345">
<h3 class="productTitle"><a href="">Samsung ES71</a></h3>
<p class="productType">Compact Digital Camera</p>
<img src="img/small_Cam.png" class="imgLMargin" alt="Samsung ES71"/>
<div class="dragHandle">
</div>
</div>
</div>
canDrag から div 全体を追加するのではなく、画像や .product タイトルなどのさまざまな要素を取得して、それらを表示したいと思います。誰かに何かアイデアがあれば、事前に感謝します。また、私の質問が十分に明確でない場合は、言い換えてみることができます。
乾杯