--- title: GlobalEventHandlers.onmousedown slug: Web/API/GlobalEventHandlers/onmousedown tags: - API - Event Handler - GlobalEventHandlers - HTML DOM - Property - Reference browser-compat: api.GlobalEventHandlers.onmousedown translation_of: Web/API/GlobalEventHandlers/onmousedown ---
{{ ApiRef("HTML DOM") }}

onmousedown は {{domxref("GlobalEventHandlers")}} ミックスインのプロパティで、{{event("mousedown")}} イベントを処理するイベントハンドラーです。

mousedown イベントは、ユーザーがマウスボタンを押したときに発行されます。

メモ: onmousedown の反対の動作は {{domxref("GlobalEventHandlers.onmouseup", "onmouseup")}} です。

構文

target.onmousedown = functionRef;

functionRef は、関数名または関数式です。この関数は、唯一の引数として {{domxref("MouseEvent")}} オブジェクトを受け取ります。

この例は、マウスボタンを押したままにすると画像の一部を表示します。onmousedown, {{domxref("GlobalEventHandlers.onmouseup", "onmouseup")}}, {{domxref("GlobalEventHandlers.onmousemove", "onmousemove")}} イベントハンドラーを使用します。

HTML

<div class="container">
  <div class="view" hidden></div>
  <img src="https://interactive-examples.mdn.mozilla.net/media/examples/gecko-320-213.jpg">
</div>

CSS

.container {
  width: 320px;
  height: 213px;
  background: black;
}

.view {
  position: absolute;
  width: 100px;
  height: 100px;
  background: white;
  border-radius: 50%;
}

img {
  mix-blend-mode: darken;
}

JavaScript

function showView(event) {
  view.removeAttribute('hidden');
  view.style.left = event.clientX - 50 + 'px';
  view.style.top = event.clientY - 50 + 'px';
  event.preventDefault();
}

function moveView(event) {
  view.style.left = event.clientX - 50 + 'px';
  view.style.top = event.clientY - 50 + 'px';
}

function hideView(event) {
  view.setAttribute('hidden', '');
}

const container = document.querySelector('.container');
const view = document.querySelector('.view');

container.onmousedown = showView;
container.onmousemove = moveView;
document.onmouseup = hideView;

結果

{{EmbedLiveSample("Example", 700, 300)}}

仕様書

{{Specifications}}

ブラウザーの互換性

{{Compat}}

関連情報