[Edge]。→、、
ドラッグ操作で許可される効果を取得/指定します。
コピー操作は、ドラッグされるデータを現在の位置からドロップ位置にコピーすることを示すために使用されます。移動操作は、ドラッグされるデータを移動することを示すために使用され、リンク操作は、ソース位置とドロップ位置の間に何らかの形の関係または接続を作成することを示すために使用されます。
このプロパティは、dragstart イベントで設定して、ドラッグ ソースのドラッグ効果を設定する必要があります。dragenter および dragover のイベント ハンドラー内では、このプロパティは dragstart イベントで割り当てられた値に設定されるため、effectAllowed を使用してどの効果が許可されているかを決定することができます。
イベント dragstart 以外のイベントで effectAllowed に値を代入しても何の効果もありません。
DataTransfer | DataTransfer。 |
---|
文字列。許可されているドラッグ操作を表します。可能な値は以下の通りです。
none | アイテムをドロップすることができません。 |
---|---|
copy | ソースアイテムのコピーを新しい場所に作成することができます。 |
copyLink | コピーやリンク操作が許可されています。 |
copyMove | コピーや移動操作が許可されています。 |
link | ソースから新しい場所へのリンクを確立することができます。 |
linkMove | リンクや移動の操作が許可されています。 |
move | アイテムを新しい場所に移動することができます。 |
all | すべての操作が許可されています。 |
uninitialized | 効果が設定されていない場合の既定値で、 all と同等です。 |
effectAllowed に他の値を代入しても効果はなく、古い値が保持されます。
Internet Explorer では、値を小文字に変更します。従って、linkMove は linkmove になります。
HTML:
<DIV id=IdTest contenteditable>ここにドロップ操作をしてみて…</DIV> <SPAN id=IdLog></SPAN>
JavaScript:
function Job(eve){ //dragstart イベントの処理: D=eve; DA=eve.dataTransfer; //=[object]:[object DataTransfer]。noneに変更しない場合の処理後の値。IdLog.innerHTML=IdLog.innerHTML+eve.dataTransfer.effectAllowed+" "; eve.dataTransfer.effectAllowed="none"; //設定。 } document.ondragstart=Job; //イベント割り当て。詳細
//dropEffect=[string]:move //effectAllowed=[string]:uninitialized //items=[object]:[object DataTransferItemList] //types=[object]: //…
effectAllowed が「uninitialized」だったのを「none」にしたら、ドラッグ移動できなくなった。