2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[HTML5]標準draggableについて

Posted at

HTML5のdraggable属性

html5の標準機能でDOMをドラッグ&ドロップできるのを初めて知りました。主要ブラウザでは既にサポートされているようです。

HTMLサンプル

html
<div draggable="true">draggable</div>

draggable="true"とするだけでその要素をドラッグできるようになります。
但し、一部のブラウザではこれだけでは機能しないようです。
有名なところでFireFoxでは動きません(恐らくMozillaの派生ブラウザも)。
FireFoxの場合、JavaScriptでondragstartイベントに登録する必要があります。

選択中のテキスト、href属性が指定されたa要素、src属性が指定されたimg要素は、デフォルトでdraggable=trueとなっています。

ForFireFox
<div draggable="true" ondragstart="event.dataTransfer.setData('text', '今日も一日がんばるぞい')">
  今日も一日がんばるぞい
</div>

ドラッグ操作

dataTransferとは?

DataTransferオブジェクトは、ドラッグ&ドロップ操作の実行中、ドラッグされているデータを保持するために使われます。データトランスファーは1つ以上の項目を保持し、それぞれの項目は1つ以上のデータ型を保持します。

連想配列のDTOです。キーとバリューをセットします。使用できるキーは決まりがあり、text、text/plain、text/htmlのどれかです。ですがブラウザによってバラバラです。例えば、FireFoxとChromは「myKey」とか任意の名前でできました。逆にIE11だとtext以外動きませんでした。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?