2013-04-09 79 views
2

FireFox使用HTML5拖放出現一個奇怪的問題。Firefox拖放 - 幻影圖像丟失

在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> 

JS jQuery的dragstart事件處理程序中摘錄:

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)); 

任何想法,爲什麼火狐是行不通的?

回答

3

沒關係,我找出了問題所在。

看來FF需要在dataTransfer對象中設置某種形式的數據。

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

修復它。

+0

你可以接受你自己的答案,讓別人知道這個問題有答案。 – Leftium 2013-08-20 01:19:59

0

對於未來的調試器:

顯然,負文本縮進CSS屬性也導致拖動圖像在Firefox中消失(但不是在Chrome/Safari瀏覽器)。

+0

對元素進行'translateZ'(可能還有其他)轉換也會導致這種情況。 – SLD 2016-02-24 15:32:33