diff options
Diffstat (limited to 'files/ja/web/api/document/drag_event/index.html')
| -rw-r--r-- | files/ja/web/api/document/drag_event/index.html | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/files/ja/web/api/document/drag_event/index.html b/files/ja/web/api/document/drag_event/index.html new file mode 100644 index 0000000000..87e9135a4e --- /dev/null +++ b/files/ja/web/api/document/drag_event/index.html @@ -0,0 +1,183 @@ +--- +title: 'Document: drag イベント' +slug: Web/API/Document/drag_event +tags: + - API + - DOM + - Document + - Drag + - DragEvent + - Event + - Reference + - Web + - drag and drop + - イベント + - ウェブ +translation_of: Web/API/Document/drag_event +--- +<div>{{APIRef}}</div> + +<p><code>drag</code> イベントは、要素や選択されたテキストをユーザーがドラッグしている間に、数百ミリ秒ごとに発生します。</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">バブリング</th> + <td>あり</td> + </tr> + <tr> + <th scope="row">キャンセル可能</th> + <td>はい</td> + </tr> + <tr> + <th scope="row">既定のアクション</th> + <td>ドラッグ&ドロップ操作を続ける</td> + </tr> + <tr> + <th scope="row">インターフェイス</th> + <td>{{domxref("DragEvent")}}</td> + </tr> + <tr> + <th scope="row">イベントハンドラープロパティ</th> + <td>{{domxref("GlobalEventHandlers/ondrag", "ondrag")}}</td> + </tr> + </tbody> +</table> + +<h2 id="Examples" name="Examples">例</h2> + +<p>このコードは <a href="http://jsfiddle.net/zfnj5rv4/">JSFiddle デモ</a>または以下で直接ご覧ください。</p> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: html"><div class="dropzone"> + <div id="draggable" draggable="true" ondragstart="event.dataTransfer.setData('text/plain',null)"> + This div is draggable + </div> +</div> +<div class="dropzone"></div> +<div class="dropzone"></div> +<div class="dropzone"></div> +</pre> + +<h3 id="CSS">CSS</h3> + +<pre class="brush: css">#draggable { + width: 200px; + height: 20px; + text-align: center; + background: white; +} + +.dropzone { + width: 200px; + height: 20px; + background: blueviolet; + margin-bottom: 10px; + padding: 10px; +} +</pre> + +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: js">var dragged; + +/* events fired on the draggable target */ +document.addEventListener("drag", function(event) { + +}, false); + +document.addEventListener("dragstart", function(event) { + // store a ref. on the dragged elem + dragged = event.target; + // make it half transparent + event.target.style.opacity = .5; +}, false); + +document.addEventListener("dragend", function(event) { + // reset the transparency + event.target.style.opacity = ""; +}, false); + +/* events fired on the drop targets */ +document.addEventListener("dragover", function(event) { + // prevent default to allow drop + event.preventDefault(); +}, false); + +document.addEventListener("dragenter", function(event) { + // highlight potential drop target when the draggable element enters it + if (event.target.className == "dropzone") { + event.target.style.background = "purple"; + } + +}, false); + +document.addEventListener("dragleave", function(event) { + // reset background of potential drop target when the draggable element leaves it + if (event.target.className == "dropzone") { + event.target.style.background = ""; + } + +}, false); + +document.addEventListener("drop", function(event) { + // prevent default action (open as link for some elements) + event.preventDefault(); + // move dragged elem to the selected drop target + if (event.target.className == "dropzone") { + event.target.style.background = ""; + dragged.parentNode.removeChild( dragged ); + event.target.appendChild( dragged ); + } +}, false);</pre> + +<p>{{EmbedLiveSample('Examples', '300', '200', '')}}</p> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("HTML WHATWG", "interaction.html#dndevents", "drag event")}}</td> + <td>{{Spec2("HTML WHATWG")}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.Document.drag_event")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>その他のドラッグ&ドロップイベント: + <ul> + <li>{{domxref("Document/dragstart_event", "dragstart")}}</li> + <li>{{domxref("Document/dragend_event", "dragend")}}</li> + <li>{{domxref("Document/dragover_event", "dragover")}}</li> + <li>{{domxref("Document/dragenter_event", "dragenter")}}</li> + <li>{{domxref("Document/dragleave_event", "dragleave")}}</li> + <li>{{domxref("Document/dragexit_event", "dragexit")}}</li> + <li>{{domxref("Document/drop_event", "drop")}}</li> + </ul> + </li> + <li>他のターゲットにおけるこのイベント: + <ul> + <li>{{domxref("Window")}}: {{domxref("Window/drag_event", "drag")}} イベント</li> + <li>{{domxref("HTMLElement")}}: {{domxref("HTMLElement/drag_event", "drag")}} イベント</li> + <li>{{domxref("SVGElement")}}: {{domxref("SVGElement/drag_event", "drag")}} イベント</li> + </ul> + </li> +</ul> |
