:-moz-drag-over

非標準: この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

:-moz-drag-overCSS擬似クラスで、 Mozilla 拡張であり、 dragover イベントが呼び出された時に要素に一致します。

構文

css
:-moz-drag-over {
  /* ... */
}

HTML

html
<div id="drop-target">
  <p>Drop target</p>
</div>

<div draggable="true">
  <p>Draggable</p>
</div>

JavaScript

ほとんどの要素はデータをドロップするのに妥当な場所ではないため、ドロップを許可するには、dragenter イベントまたは dragover イベント (またはその両方) を取り消すことで既定の動作を防ぐ必要があります。 この例では、dragenter イベントを取り消すだけです。これは、要素がドロップ対象になるかどうかをブラウザーが評価するときに最初に発生するイベントです。 詳細情報については、ドラッグ処理を運営しています: ドロップ対象を指定します。 詳しくは、ドラッグ操作: ドロップ先の指定を参照してください。

js
const target = document.getElementById("drop-target");
/* dragenter イベントはドロップ先に発生する */
target.addEventListener(
  "dragenter",
  (event) => {
    // ドロップを受け付けるために、既定の動作が出て来ないようにする
    event.preventDefault();
  },
  false,
);

CSS

css
body {
  font-family: arial;
}
div {
  display: inline-block;
  width: 150px;
  height: 150px;
  border: 2px dotted black;
  background-color: aquamarine;
  margin: 1rem;
}
p {
  padding: 1rem;
}

以下の CSS は、ドラッグ可能な要素がドロップ領域に重なったときに、ドロップ対象の色を赤に変更します。

css
#drop-target {
  background-color: cornflowerblue;
}
#drop-target:-moz-drag-over {
  background-color: red;
}

結果

仕様書

いずれの標準にも含まれていません。

関連情報