嗨,我正在尝试在项目中实现一些拖放功能,但在某些方面遇到了一些困难。我遇到的问题之一是创建自定义头像,我能够实现自定义头像,但必须稍微作弊并使用 CSS 隐藏一些元素。
下面是我的代码片段而不是整个代码,我需要所有必要的 pacakges 等。
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 源,然后给它一个自定义创建者,我尝试在其中构建我自己的自定义 Avatar。实际的可拖动标记如下:
<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 和 down 追加整个 div,我想抓取不同的元素,例如图像和 .product 标题,然后只显示它们。如果有人有任何想法,我提前感谢你,如果我的问题不够清楚,我可以尝试改写。
干杯