我目前正在使用HTML5 Drag and Drop API工作,以提供附加功能,包括將項目拖入和拖出瀏覽器。我目前遇到了特定於Chrome的問題(否則只會在Firefox中進行測試,並按預期工作)。HTML5拖放getData()僅適用於Chrome中的拖放事件?
問題是我不能使用event.dataTransfer.getData(type)
方法在除drop
事件之外的任何事件中返回dragstart
事件中的數據集。
我設置的事件像這樣,結合dragstart
事件(它火)後:
event.dataTransfer.setData('text/plain', "some string")
然後在drop
事件,我可以得到的數據的罰款。
event.dataTransfer.getData('text/plain')
但是我不能對任何其它事件(如dragover
)使用同樣的方法如上所述。即使我在撥打setData()
(即dragstart
回撥)後嘗試在線路上使用上述方法,它仍然會返回undefined
。
因此,在Chrome中,問題是Chrome中的getData
將始終返回undefined
,但在drop
事件回調中除外。 (在Firefox中,我可以成功獲取正確的數據。)
如果您有對同一拖動元素的dataTransfer
對象的引用,那麼爲什麼要在數據被刪除之前無法獲取數據?
只是想知道:
- 有沒有人有這樣的煩惱與鍍鉻前?
- 有哪些解決方法?
- 或者,Chrome是否需要修復?
資源: Specification for HTML5 drag and drop.
[此錯誤報告](http://code.google.com/p/chromium/issues/detail?id=94023)似乎相關。 – pimvdb 2012-03-02 14:24:14
[HTML5 DnD dataTransfer setData或getData在除Firefox以外的每個瀏覽器中都不起作用]的可能重複(http://stackoverflow.com/questions/11927309/html5-dnd-datatransfer-setdata-or-getdata-not-working-in-除瀏覽器之外的所有瀏覽器) – broofa 2013-10-12 11:35:24