我想在拖动图片时设置光标的拖动图像,但是当我开始拖动时我没有看到图像,我做错了什么?
var dragIcon = document.createElement("img");
var src = this.$el.find("img").attr("src");
dragIcon.src = src.replace("http://domain.dev", "");
dragIcon.width = 100;
console.log(dragIcon);
e.originalEvent.dataTransfer.setDragImage(dragIcon, -10, -10);
this.$el
看起来像这样,
<div class="person-card column" draggable="true" id="95">
<img class="person-card-image" src="/profile_pictures/default.png">
<div class="card-header-title single">
<a href="/people/person/95">John Doe</a>
</div>
<div class="person-card-subtitle">
Linked
</div>
<!--<div class="person-card-invite is-sent">
<a href="#">Invite</a>
</div>-->
</div>
我看不出为什么这不起作用的任何理由。但是我注意到我在dom中看到我认为新的img没有被创建。
答案 0 :(得分:1)
从我一直在调查。您需要在文档中附加图像。在Firefox中,您可以安全地设置一个位置:绝对然后顶部:-9999px。但是,在Chrome中,您也会在页面上显示图像。诀窍是将它隐藏在另一个绝对位置的后面。
也许Chrome有更好的方法,我仍在努力寻找更好的解决方案。
答案 1 :(得分:0)
有一种方法可以解决这个问题。使用
创建包装器divposition:absolute, width:0px; Height:0px; top:0px; right:0px
并使用
创建对dragstart事件的控制position:relative
将控件绑定到包装器并将控件设置为setDragImage。