私は現在、HTML5ドラッグアンドドロップAPIを使用して、ブラウザ内外の項目をドラッグするなどの追加機能を提供するプロジェクトで作業しています。私は現在、Chromeに固有の問題に遭遇しています(そうでなければ、期待通りに動作するFirefoxでのみテストされています)。HTML5ドラッグアンドドロップgetData()はChromeのドロップイベントでのみ機能しますか?
問題は、私はdrop
イベント以外のすべてのイベントにdragstart
イベントに設定データを返すためにevent.dataTransfer.getData(type)
メソッドを使用することができないということです。
私は(火DOES)dragstart
イベントに結合した後、そのようなイベントを設定します。
event.dataTransfer.setData('text/plain', "some string")
次にdrop
イベントで、私はデータの罰金を得ることができます。
event.dataTransfer.getData('text/plain')
は、しかし、私は(例えばdragover
のような)他のイベントに上記と同様の方法を使用することはできません。上記のメソッドをsetData()
(つまり、dragstart
コールバック)を呼び出した後で使用しても、それはまだundefined
を返します。
クロムでは、イベントコールバックを除き、クロムのは常にundefined
を返します。
同じドラッグ要素のdataTransfer
オブジェクトへの参照がある場合は、データがドロップされるまでデータを取得できないのはなぜですか?(Firefoxでは、正常にデータを取得できます)
ただ不思議:
- は誰もが前にクロームと、このトラブルがありましたか?
- どのような回避策がありますか?
- または、Chromeで修正する必要がありますか?
資源: Specification for HTML5 drag and drop.
[このバグレポート](http://code.google.com/p/chromium/issues/detail?id=94023)は関連しているようです。 – pimvdb
[HTML5 DnD dataTransfer setDataまたはgetDataがFirefox以外のすべてのブラウザで動作しない可能性があります](http://stackoverflow.com/questions/11927309/html5-dnd-datatransfer-setdata-or-getdata-not-working-in-ブラウザ以外のすべてのブラウザ) – broofa