JavaScript マウスイベントのケーススタディ

JavaScript マウスイベントのケーススタディ

マウスイベント

マウスが特定の操作を実行すると、イベント オブジェクトが生成され、イベントがトリガーされたときのマウスのすべてのプロパティが記録されます。

次のようにして、Google コンソールで MouseEvent オブジェクトを出力できます。

関数mouseDown(e){
var e = e||イベント;
コンソール.log(e)
}
window.onload = 関数 (){ 
document.getElementsByTagName('body')[0].addEventListener('mousedown',mouseDown,false)
}

印刷された MouseEvent は次のようになります。

このオブジェクトには多くのプロパティがありますが、最もよく使用されるのは offsetX、offsetY、clientX/clientY、pageX、pageY です。さまざまな属性は何に対応していますか?

以下に一般的なイベントをいくつか示します。

altkey: マウス イベントがトリガーされたときに alt キーが押されているかどうか。押されている場合は true を返し、それ以外の場合は false を返します。

button: イベント属性はアラビア数字を返します。0 は左ボタンの押下を表し、1 はスクロール ホイールの押下を表し、2 は右ボタンの押下を表します。

offsetX、offsetY: イベント属性は、イベントがトリガーされたときに、イベント ソース要素に対するマウスの X 座標と Y 座標を返します。標準イベントには対応する属性はありません。

clientX、clientY: イベント プロパティは、イベントがトリガーされたときに、ブラウザー ページ (またはクライアント領域) に対するマウス ポインターの水平座標と垂直座標を返します。

pageX、pageY: イベント属性は、イベントがトリガーされたときに、ページ全体の左上隅を基準としたマウス ポインターの水平座標と垂直座標を返します。

screenX、screenY: イベント属性は、イベントがトリガーされたときのユーザーの画面に対するマウスの位置の水平座標と垂直座標を返します。参照点、つまり原点は、画面の左上隅です。

まあ、テキストによる説明はいつも面倒なので、ここですべてを説明する古典的な画像を示します。

JavaScript マウス イベント (MouseEvent) のケース スタディに関するこの記事はこれで終わりです。JavaScript マウス イベント (MouseEvent) に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • C++ の while 文と do-while 文の詳細な説明
  • C言語ソケットペアの使用例の説明
  • C# NullReferenceException の解決ケースの説明
  • C# ExecuteScalar() メソッドのケース説明
  • C++ 基礎学習: 参照とポインタを区別する方法
  • C言語でスタックを実装する2つの方法
  • Java8 ArrayList での forEach の使用
  • C言語のOutputDebugStringとフォーマットされた出力関数OutputDebugPrintfの詳細な説明

<<:  MySQL スライディング集計/年初来集計の原理と使用例の分析

>>:  Centos8 の Django プロジェクトに nginx+uwsgi をデプロイするチュートリアル

推薦する

MySQL のスロークエリの方法と例

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

haslaylout と bfc 解析の理解

1. haslayout と bfc は IE 固有の標準属性です。 2. BFC はページ上の分離...

Centos7 での MySQL 5.7.20 のインストールと設定に関する詳細なチュートリアル

1. 公式 Web サイトから MySQL 5.7 インストール パッケージ (mysql-5.7....

Vue3 Vue CLI マルチ環境設定

目次1. はじめに2. 切り替え1. 開発および本番環境の設定ファイルを追加する2. 複数の環境をサ...

バックエンドから返される 100,000 個のデータをフロントエンドでより適切に表示するにはどうすればよいですか?

目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...

MySQLデータベースインデックスの詳細な説明

目次1. MySQLインデックスの紹介2. MySQLの5種類のインデックスの詳しい説明1. 総合索...

一般的な Linux ツール vi/vim の完全版

なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...

MySQL で左結合を使用して where 条件を追加する問題の詳細な分析

現在の需要:グループとファクターの 2 つのテーブルがあります。1 つのグループは複数のファクターに...

Reactフックの仕組み

目次1. React フックと純粋関数2. シンプルなmyUseState 3. myUseStat...

Raspberry Pi msmtp と mutt のインストールと設定のチュートリアル

1. muttをインストールするsudo apt-get install mutt 2. msmtp...

dockerコマンドの使用にはsudoは必要ありません

docker デーモンは通常の TCP ポートではなくホストの Unix ソケットにバインドする必要...

VUE 3 テレポート コンポーネントと使用構文をすぐに使い始める

目次1. テレポートの紹介1.1. 複数のテレポートを使用する2. テレポートを使用する理由3. テ...

テキストの両側に水平線を描くための CSS のサンプルコード

この記事では、テキスト中央の両側に水平線を引く効果を実現する CSS のサンプルコードを紹介し、皆さ...

MySQL フラッシュバック ツール binlog2sql の詳細なインストールと設定のチュートリアル

概要binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

JavaScript の重要なブレークポイント デバッグ手法の概要 (推奨)

目次デバッガーを使用する理由は何ですか? Chromeデバッガーの基本的な使い方VS Code によ...