JavaScript イベントの概念の詳細な説明 (静的登録と動的登録の区別)

JavaScript イベントの概念の詳細な説明 (静的登録と動的登録の区別)

js のイベント

イベントとは何ですか?イベントは、コンピューターの入力デバイスとページ間のやり取りに対する応答であり、これをイベントと呼びます。

イベントタイプ

  • マウス クリック: たとえば、ボタンをクリックする、チェックボックスまたはラジオ ボタンを選択する、マウスがページ上のホットスポットに入る、ホットスポット上に移動する、またはホットスポットから出る: たとえば、マウスが画像上で停止する、またはテーブルに入るなど。
  • キーボードのキー: キーが押されたとき、または放されたとき。
  • HTML イベント: たとえば、ページ本体が読み込まれたとき、フォーム内の入力ボックスを選択したとき、または入力ボックス内のテキストの内容を変更したとき (たとえば、テキスト ボックスの内容が選択または変更されたとき)。
  • ミューテーション イベント: 主に、DomSubtreeModified (DOM サブツリーの変更) など、ドキュメントの基礎となる要素が変更されたときにトリガーされるイベントを指します。

一般的なイベント

  • onload 読み込み完了イベント: ページが読み込まれた後、ページのjsコードを初期化するために使用されることが多い
  • onclick クリック イベント: 通常、ボタンのクリック応答操作に使用されます。
  • onblur フォーカスを失ったイベント: 入力ボックスがフォーカスを失った後に入力内容が正当かどうかを確認するためによく使用されます。
  • onchangeコンテンツ変更イベント: ドロップダウンリストや入力ボックスのコンテンツ変更後の操作によく使用されます。
  • onsubmit フォーム送信イベント: フォームが送信される前に、すべてのフォーム項目が有効かどうかを確認するためによく使用されます。

イベント登録

イベント登録(バインディング)とは何ですか?
実際には、イベントに応答したときにどの操作コードを実行するかをブラウザに指示します。これは、イベント登録またはイベント バインディングと呼ばれます。
イベント登録は静的登録と動的登録に分かれます。

  • 静的登録イベント: HTMLタグのイベント属性を介してイベント応答後のコードを直接割り当てます。この方法は静的登録と呼ばれます。
  • 動的登録イベント: まずJSコードを介してタグのDOMオブジェクトを取得し、次にDOMオブジェクトを介してイベント応答後のコードを割り当てることを意味します。イベント名 = function(){} この形式は動的登録と呼ばれます

動的登録の基本的な手順:

1. タグオブジェクトを取得する
2. タグオブジェクト。イベント名 = function(){}

静的および動的登録の例

onload 読み込み完了イベント

静的バインディング:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
  <メタ文字セット="UTF-8">
  <title>静的登録</title>
  <script type="text/javascript">
  // onload イベントメソッド関数 onloadFun() {
   alert('onload イベント、すべてのコードを静的に登録します');
   }
  </スクリプト>
</head>
<!--onload イベントを静的に登録します。onload イベントは、ブラウザがページを解析した後に自動的にトリガーされるイベントです。body タグの属性は、この属性を通じて登録されます -->
<body content="onloadFun();">
</本文>
</html>

動的バインディング:

window.onload(){} メソッドを介して中括弧内のメソッドを呼び出す書き込み方法を修正しました。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
  <メタ文字セット="UTF-8">
  <title>動的登録</title>
  <script type="text/javascript">
   // onload イベントの動的登録。固定の書き方です。window.onload = function() {
   alert("動的に登録された onload イベント");
   }
  </スクリプト>
</head>
<本文>
</本文>
</html>

onclick クリックイベント

たとえば、この例から 2 つの定義の違いをよりよく理解できます。

onclick 静的バインディング イベント

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
<メタ文字セット="UTF-8">
<title>タイトル</title>
<script type="text/javascript">
 関数onclickFun() {
  alert("onclick イベントを静的に登録します");
 }
</スクリプト>
</head>
<本文>
<!-- ボタンの onclick 属性を通じて onClick イベントを静的に登録します -->
<button onclick="onclickFun();">ボタン 1</button>
</本文>
</html>

onclick 動的バインディング イベント

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
<メタ文字セット="UTF-8">
<title>タイトル</title>
<script type="text/javascript">
   window.onload = 関数(){
   //getElementById は id 属性を通じてタグ オブジェクトを取得します var btnObj = document.getElementById("btn01");
   // 2 タグオブジェクトを介して。イベント名 = function(){}
   btnObj.onclick = 関数 () {
    alert("動的に登録された onclick イベント");
   }
   }
</スクリプト>
</head>
<本文>
 
<button id="btn01">ボタン 2</button>
</本文>
</html>

上記は、JavaScript イベントの概念(静的登録と動的登録の区別)の詳細な説明の詳細な内容です。JavaScript イベントの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • JavaScript におけるスコープチェーンの概念と使用法
  • JavaScript オブジェクト指向のコア知識と概念の要約
  • node.js におけるプロセスの概念と child_process モジュールの使用例
  • JavaScript におけるクロージャの概念と使用法の分析
  • JSの基本概念の詳細な紹介

<<:  MySQL 最適化: キャッシュ最適化

>>:  Linuxはiptablesを使用して複数のIPからのサーバーへのアクセスを制限します

推薦する

Vue が 4 レベルのナビゲーションと検証コードを実装する方法の例

効果: まず5つのVueインターフェースを作成する1.home.vueページ <テンプレート&...

異なるブラウザ間で互換性のあるテキスト配置を実現する CSS

フォームのフロントエンド レイアウトでは、テキスト ボックスのプロンプト テキストを両端に揃える必要...

HTMLのフォントがline-heightを指定しても垂直方向に中央揃えできない問題の解決方法を詳しく説明します

による写真に示されている効果を例に挙げてみましょう。明らかに、「次へ」というテキストを水平方向だけで...

閲覧時に作成されたWebページの下部にある余分な空白スペースを削除する方法

Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...

Ubuntu 18.04 は pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib をインストールします

1. 現在、Pythonのバージョン管理ツールは数多く存在します。その中でも比較的使いやすいのがPy...

Dockerのネットワークモードと設定方法

1. Dockerネットワークモードdocker run が Docker コンテナを作成するときに...

Linux のソフトリンクとハードリンクの詳細な説明

目次1. ファイルとディレクトリの基本的な保存2. Inコマンドの紹介(1)lnコマンドの基本情報を...

ファイルをアップロードするための HTML フォームの「参照」ボタンを変更する方法

コードをコピーコードは次のとおりです。 <!DOCTYPE HTML PUBLIC "...

Windows 10 システムに mysql-8.0.13 (zip インストール) をインストールする詳細なチュートリアル

インストール環境の説明•システムバージョン: windows10 •MySQL バージョン: mys...

MySQL スレーブ ライブラリ Seconds_Behind_Master 遅延の概要

目次MySQL スレーブ ライブラリ Seconds_Behind_Master 遅延の概要1. 遅...

SpringBoot プロジェクトの Docker 環境を実行するときに発生する無限再起動問題の詳細な説明

もしかしたら私の考え方が間違っていたのかもしれないし、問題の説明が少し乱雑だったのかもしれないが、こ...

Docker を使用した RabbitMQ 環境のデプロイの詳細な紹介

前提条件: Dockerはすでにインストールされています1. 画像を見つける(方法は2つあります) ...

JS で CSS 変数を使用する方法

JS で CSS 変数を使用する方法:export キーワードを使用して、js オブジェクトを le...

面接でよく聞かれる Vue 修飾子 13 個

目次1. 怠惰な2.トリム3.番号4.停止5. キャプチャ6.自分7.一度8.予防する9.ネイティブ...

Docker はすべてのコンテナをバッチ起動して閉じます

Dockerの場合すべてのコンテナコマンドを開始する docker を起動します $(docker ...