ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > JavaScript > 【jQuery】click()よりも速い!mousedown()とmouseup()とは

【jQuery】click()よりも速い!mousedown()とmouseup()とは

JavaScript

2022/03/25

2023/05/06

jQuery mousedown-mouseup記事サムネイル

mousedown()とmouseup()の2つのイベントは、click()イベントよりトリガーのタイミングが早く、状況によってはclick()よりも便利な場合があります。この記事では「mousedown()イベントとmouseup()イベントの使い方」について解説します。

この記事で身につく内容
  • mousedown()イベントの使い方
  • mouseup()イベントの使い方
  • click()イベントとの違い

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

mousedown()イベントの使い方

mousedown()は、jQueryの数あるイベントの一つです。マウスが押されたときにイベントが発火します。

基本書式は次のようになります。

mousedown()の基本書式

$('セレクタ').mousedown(function(){
  // ここに処理を書く
});

 

上記をコードに当てはめると次のようになります。

mousedown()のサンプル

<button id="js-btn-down">mousedown!</button>
const btnDown = $('#js-btn-down');
btnDown.mousedown(function () {
  console.log('down');
});

出力結果

mousedownコンソール

mousedown()イベントの特徴は、トリガーが「マウスが押されたとき」なので発火のタイミングはclick()よりも早いことです。

mouseup()イベントの使い方

mouseup()は、マウスが押された状態から離されたときにイベントが発火します。

基本書式は次のようになります。

mouseup()の基本書式

$('セレクタ').mouseup(function(){
  // 処理を書く
});

上記をコードに当てはめると次のようになります。

mouseUp()のサンプル

<button id="js-btn-up">mouseup!</button>
const btnUp = $('#js-btn-up');
btnUp.mouseup(function () {
  console.log('up');
});

出力結果

mouseupコンソール

mouseup()イベントの特徴は、トリガーが「マウスが押された状態から離したタイミング」なのでclick()よりも発火が早いことです。

ZeroPlusgate50教材の動画

mousedown()とmouseup()とclick()の違い

mousedown()とmouseup()の2つのイベントは、click()イベントと似ていますがトリガーとなるタイミングが異なります。

3つのイベントの中で最も早いのがmousedown()です。

トリガーのタイミングの違い

  • mousedown():押されてから発火
  • mouseup():押された状態から離したときに発火
  • click():押されて離されたら発火

click()イベントはmousedown()+mouseup()のようなイメージです。

トリガーのタイミングの違いは、下記のサンプルで確認できます。

ボタンをクリックすると、テキストが出力されるシンプルなプログラムです。

  <button id="js-btn">mouseClick!</button>
  <div class="box"></div>
  <div class="box-up"></div>
.box {
  width: 100%;
  height: auto;
}

.is-click {
  background: orange;
}

.is-down {
  background: blue;
}

.is-up {
  background: red;
}
const btn = $('#js-btn');
const box = $('.box');

btn.click(function () {
  box.append('<div class="is-click">clickで追加したテキスト</div>');
})

btn.mousedown(function () {
  box.append('<div class="is-down">mousedownで追加したテキスト</div>');
});

btn.mouseup(function () {
  box.append('<div class="is-up">mouseupで追加したテキスト</div>');
});

出力結果

See the Pen mousedown/mouseup/click by ZeroPlus (@zeroplus-programming) on CodePen.

出力結果から、mousedownが最も早く、その次にmouseup、最後にclickが出力されていることが分かります。

まとめ

mousedown()とmouseup()の2つのイベントは、click()イベントよりも発火のタイミングが早いです。

使いやすいこともあり、よく使用されるのはclick()イベントなので、mousedown()とmouseup()は知識として覚えておきましょう!

 

mousedown()とmouseup()まとめ

  • mousedown():押されてから発火
  • mouseup():押された状態から離したときに発火
  • mousedown()イベントは、click()イベントよりも早い
ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

おすすめのタグ

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから