HTMLElement: dragstart イベント

dragstart イベントは、ユーザーが要素や選択されたテキストをドラッグし始めたときに発生します。

バブリング あり
キャンセル あり
既定のアクション ドラッグ&ドロップ操作を始める。
インターフェイス DragEvent
イベントハンドラープロパティ ondragstart

ドラッグ開始時に半透明にする

この例では、コンテナーの中にドラッグ可能な要素を入れています。要素を掴んでドラッグし、そして放してみましょう。

dragstart イベントを待ち受けすることで、ドラッグしている間、要素を半透明にします。

ドラッグ&ドロップのより完全な例については、drag イベントのページを参照してください。

HTML

<div id="container">
  <div id="draggable" draggable="true">
    この div はドラッグ可
  </div>
</div>
<div class="dropzone"></div>

CSS

body {
  /* 例でユーザーがテキストを選択するのを防ぐ */
  user-select: none;
}

#draggable {
  text-align: center;
  background: white;
}

#container {
  width: 200px;
  height: 20px;
  background: blueviolet;
  padding: 10px;
}

.dragging {
  opacity: .5;
}

JavaScript

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 Standard
# ix-handler-ondragstart
HTML Standard
# event-dnd-dragstart

ブラウザーの互換性

BCD tables only load in the browser

関連情報