Firefox拖放 - 鬼图像丢失

时间:2013-04-09 19:24:45

标签: javascript html5 firefox

FireFox中使用HTML5拖放似乎存在一个奇怪的问题。

在Chrome / Safari中,生成的HTML图像会被拖动,但出于某种原因,在Firefox中似乎根本没有出现。

HTML片段:

<div class="task sortable" draggable="true">
    <input type="checkbox" draggable="false">

<div class="what" draggable="false">
Yet another
</div>

<div class="who" draggable="false">

</div>
</div>

jQuery dragstart事件处理程序中的JS Snippet:

  var target = $(e.target),
                index = this.$('.sortable').index(target);
            this.dragModel = this.collection.at(index);
            e.originalEvent.dataTransfer.effectAllowed = 'move';
            _.defer(_.bind(function() {
                target.after(placeHolderHtml);   
                target.hide(); 
            }, this));

为什么Firefox不起作用的任何想法?

2 个答案:

答案 0 :(得分:5)

没关系,我发现了问题。

似乎FF需要在dataTransfer对象中设置某种形式的数据。

dataTransfer.setData('text', 'junk');

修复它。

答案 1 :(得分:0)

对于将来的调试器:

显然,负文本缩进的CSS属性也会导致拖动图像在Firefox中消失(但不会在Chrome / Safari中消失)。