このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
HTMLElement: dragstart イベント
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
dragstart イベントは、ユーザーが要素や選択されたテキストをドラッグし始めたときに発生します。
このイベントはキャンセル可能で、Document オブジェクトとWindow オブジェクトまでバブルアップする可能性があります。
In this article
構文
このイベント名をaddEventListener() のようなメソッドで使用するか、イベントハンドラープロパティを設定するかします。
js
addEventListener("dragstart", (event) => {});ondragstart = (event) => {};イベント型
イベントプロパティ
以下に挙げたプロパティに加えて、親であるEvent から継承したプロパティもあります。
DragEvent.dataTransfer読取専用ドラッグ&ドロップ操作の間に転送されるデータです。
例
>ドラッグ開始時に半透明にする
この例では、コンテナーの中にドラッグ可能な要素を入れています。要素を掴んでドラッグし、そして放してみましょう。
dragstart イベントを待ち受けすることで、ドラッグしている間、要素を半透明にします。
ドラッグ&ドロップの完全な例については、drag イベントのページを参照してください。
HTML
html
<div> <div draggable="true">この div はドラッグ可</div></div><div></div>CSS
css
body { /* 例でユーザーがテキストを選択するのを防ぐ */ user-select: none;}#draggable { text-align: center; background: white;}#container { width: 200px; height: 20px; background: blueviolet; padding: 10px;}.dragging { opacity: 0.5;}JavaScript
js
const source = document.getElementById("draggable");source.addEventListener("dragstart", (event) => { // 半透明にする event.target.classList.add("dragging");});source.addEventListener("dragend", (event) => { // 透明度を解除 event.target.classList.remove("dragging");});結果
仕様書
| Specification |
|---|
| HTML> # handler-ondragstart> |
| HTML> # event-dnd-dragstart> |