IT用語辞典バイナリ | さくいん | サイトマップ | ヘルプ | お気に入りに追加  
HTML5 JavaScript API
IT用語辞典バイナリ<パソコン用語・コンピュータ辞書>
コンピュータ偉人伝<人物・画像・写真・プログラミング>
コンピュータ偉人伝<人物・画像・写真・プログラミング>
コンピュータ偉人伝<人物・画像・写真・プログラミング>
拡張子辞典<ファイル・変換・変更・表示>
HTML5タグリファレンス
CSS3リファレンス
HTML5 JavaScript API
エクセル関数リファレンス
ITパスポート試験
 
  
  IT用語辞典バイナリ > HTML5 JavaScript API > Drag and Dropの使い方 > ドラッグ&ドロップの効果を指定に応じて変更するには
  カテゴリ別さくいん

ドラッグ&ドロップの効果を指定に応じて変更するには

ドラッグ&ドロップの効果を指定に応じて変更するには

解説

ドラッグ&ドロップには、copyコピー)、move移動)、linkリンク作成、Windowsデスクトップではショートカット作成)、none(何もしない)の動作モードが存在し、モードによって既定の動作が異なります。

たとえば、エディターから選択文字列をブラウザ上の領域にドロップする際に、モードmoveになっていた場合、ドロップが成功すると、もとのエディターの選択文字列は削除されます。

OSブラウザドラッグ元のアプリケーション実装によって異なりますが、通常、ドラッグ中にユーザーシフトキーコントロールキーなどの修飾キーを押すことによって、ドラッグ&ドロップの動作モードは変更され、表示も対応したものになります。

下はWindows 7での表示例です。ドラッグ元のアプリケーションによって表示は異なる場合があります。

copyの場合

copy.png

moveの場合

move.png

ドラッグ&ドロップの動作モードを表す値はdataTransfer属性のdropEffect属性文字列として格納され、コードで変更することもできます。

コードで変更する場合、dropEffect属性の指定は、dragover、dragenterイベントごとにクリアされるため、通常、ドロップの直前に起きるondragoverイベントハンドラで指定します。

dataTransfer属性のeffectAllowed属性の値を設定することで、動作モードの範囲をあらかじめ限定することも可能です。effectAllowed属性の指定は通常、ドラッグが開始されるondragstartイベントハンドラで行います。

たとえば、effectAllowed属性に「all」を指定した場合は、該当のドラッグされている要素は、すべての動作モードを取ることができます。「copyMove」を指定した場合、動作モードは「copy」か「move」のどちらかのモードしかとることができません。「move」を指定した場合は、「move」以外の動作モードを取ることはできなくなります。effectAllowed属性に設定できる値は、以下の表のようになっています。

名前内容
copycopyのみ選択可能
movemoveのみ選択可能
linklinkのみ選択可能
copyLinkcopylinkを選択可能
copyMovecopymoveを選択可能
linkMovelinkmoveを選択可能
allすべて選択可能
noneすべて選択不可

ドロップ時には、以下のように、dropEffect属性を参照して、動作を分岐させます。 ただし、dropEffect属性実装は最新のFireFox以外では不十分で、設定した値にかかわらず、dragendイベント以外では、「none」が取得される場合があります。

// targetはドラッグ&ドロップされる領域、resultは結果を表示する領域
target.ondragover = function(event){
   event.preventDefault();
}

target.ondrop = function(event){
   var data = event.dataTransfer.getData("Text");
   var effect = event.dataTransfer.dropEffect;
   if(effect == "copy"){
       //複製が指定された時の処理
   } else if (effect == "move") {
       //移動が指定された時の処理
   } 
   event.preventDefault();  
}

関連項目




HUAWEI P10HUAWEI P10
中国のファーウェイ(華為技術)が販売するスマートフォン。
InvokeInvoke
米国のHarman Kardonが開発した音声認識スピーカー。
Xiaomi Mi A1Xiaomi Mi A1
中国のシャオミ(Xiaomi)は販売するスマートフォンの名称。

 ・ITパスポート試験とは
 ・試験範囲と内容
 ・サンプル問題にチャレンジ

 ・Windowsの歴史
ジョン・マッカーシー LISPの開発者
ジョン・マッカーシー
人工知能の研究分野における第一人者。
スティーブ・ジョブズ Appleの共同創設者
スティーブ・ジョブズ
「Mac」や「iPhone」を生み出した経営者。
デニス・リッチー C言語、UNIXの開発者
デニス・リッチー
C言語の設計、UNIXの開発に携わった人物。
».m4b MPEG-4オーディオファイルの拡張子。 up!
».m4r iPhoneの着メロにするAACファイルにつく拡張子。 up!
».xlsx Excel 2007で作成したファイルのデフォルトの拡張子。
».docx Word 2007の標準的な保存形式。XML形式となっている。

2017年11月23日現在
ランキング1   ICT (用語辞典)
ランキング2   セグメント (用語辞典)
ランキング3   スワイプ  (用語辞典)
ランキング4   コンテキスト  (用語辞典)
ランキング5   プラットフォーム  (用語辞典)
ランキング6   AirDrop  (用語辞典)
ランキング7   デプロイ  (用語辞典)
ランキング8   リポジトリ  (用語辞典)
ランキング9   ウォーターマーク  (用語辞典)
ランキング10   バリデーション  (用語辞典)
RSS 0.91 RSS 1.0 RSS 2.0
IT用語辞典バイナリについてウェブリオ株式会社についてお問い合わせ先テクニカルライター募集利用規約
プライバシーポリシー著作権・商標について協力社一覧Weblio 辞書スマート翻訳英和辞典 - Weblio辞書Weblio英会話
©2012 Weblio, Inc. All rights reserved.