Javascript HTML5可拖动属性:阻止助手显示

Javascript HTML5可拖动属性:阻止助手显示,javascript,html,javascript-events,draggable,Javascript,Html,Javascript Events,Draggable,我使用HTML5中的dragabble属性创建了一个可拖动DIV的小脚本,除了在拖动结束时显示的helper之外,一切都正常。有没有办法防止这种情况 此文本可以拖动。 document.getElementById('toBeDragged')。addEventListener('dragstart',函数(事件){ X=事件偏移量X; Y=event.offsetY; }); document.getElementById('toBeDragged')。addEventListener('

我使用HTML5中的
dragabble
属性创建了一个可拖动DIV的小脚本,除了在拖动结束时显示的helper之外,一切都正常。有没有办法防止这种情况


此文本可以拖动。
document.getElementById('toBeDragged')。addEventListener('dragstart',函数(事件){
X=事件偏移量X;
Y=event.offsetY;
});
document.getElementById('toBeDragged')。addEventListener('drag',函数(事件){
this.style.left=event.pageX-X+'px';
this.style.top=event.pageY-Y+'px';
});
编辑: 似乎它在firefox上不起作用!有人知道为什么它不起作用吗?

请查看drag start上的文档

您需要设置一些拖动数据,以便Firefox知道如何显示拖动信息。它在其他浏览器中工作是非标准的

我通过添加

event.dataTransfer.setData('text/html', 'This text <strong>may</strong> be dragged');
event.dataTransfer.setData('text/html','This text可以拖动');
到您的dragStart事件


看看这是否是您想要的行为:

如果您可以使用jquery,为什么不在使用jquery时使用它呢

您需要的所有代码如下:


$('#toBeDragged').draggable()

你想做什么。默认情况下,在拖动鼠标时,有一个跟随鼠标的元素的图像。这是可以改变的。但您正在添加图像副本以模拟相同的行为,然后希望删除真实的图像副本。为什么。恐怕我不明白你的意思,我想要的是这个跟在鼠标后面的“鬼魂”形象不会在德拉吉的结尾出现。我认为“助手”这个词真的不合适!唉,我需要在纯JS中使用它。对不起,拖拽元素的“幽灵”副本仍然存在。这是使其在firefox上工作的修复方法(并且与其他标准兼容)。我不确定你所说的重影副本是什么意思——通过像我那样设置数据,当你拖动时,它会故意显示该div的内容。您看到了什么?仍然无法处理FF23问题不是在拖动过程中,而是当拖动结束时,元素的“重影副本”返回到初始位置:-)
event.dataTransfer.setData('text/html', 'This text <strong>may</strong> be dragged');