Javascript イベント ハンドラーのいくつかのメソッドに関する簡単な説明_JavaScript スキル
イベントは、ユーザーまたはブラウザ自体によって実行されるアクションです。たとえば、クリックとマウスオーバーはイベントの名前です。イベントに対応する関数をイベントハンドラ(またはイベントリスナー)と呼びます。イベントのハンドラーを指定するにはいくつかの方法があります。
1: HTML イベント ハンドラー。
例:
type="button " value="click me" onclick="show()"/>
現在、このメソッドがより頻繁に使用されていると思いますが、イベント ハンドラーをhtml デメリットは2つあります。
(2) が発生します。 ) 2 番目の欠点は、html が JavaScript コードと密接に結合していることです。時刻ハンドラを変更する場合は、HTML コードと JavaScript コードの 2 か所を変更する必要があります。
その結果、多くの開発者は HTML イベント ハンドラーを放棄し、代わりに JavaScript を使用してイベント ハンドラーを指定しています。
2: Javascript 指定イベント ハンドラー
JavaScript 指定イベント ハンドラーには 3 つのメソッドが含まれます:
(1): DOM レベル 0 イベント ハンドラー 例:
alert('clicked')
alert(this.id); // mybtn
追加されたイベント ハンドラーは、イベント フローのバブリング フェーズ中に処理されます。
btn.onclick=null; // イベント ハンドラーを削除します
}
(2):DOM2 レベルのイベント ハンドラー
DOM2 レベルのイベントイベント ハンドラーの指定と削除の操作を処理するために、addEventListener() と RemoveEventListener() という 2 つのメソッドが定義されています。これら 2 つのメソッドはすべての DOM ノードに含まれており、どちらも 3 つのパラメーター (処理するイベントの名前、イベント ハンドラーとしての関数、およびブール値) を受け入れます。最後のパラメータが true の場合は、イベント ハンドラーがキャプチャ フェーズで呼び出されることを意味し、fasle の場合は、イベント ハンドラーがバブリング フェーズで呼び出されることを意味します。
例:
alert(this.id);
},false); >DOM2 レベルを使用する イベント ハンドラーの主な利点は、複数のイベント ハンドラーを追加できることです。
例:
コードをコピー
},false);
ここでボタン用に 2 つのイベント ハンドラーが追加されます。 2 つのイベント ハンドラーは、発生した順序で起動されます。
addEventListener() によって追加された時間ハンドラーは、removeEventListener() を使用してのみ削除できます。削除時に渡されるパラメーターは、追加時に使用されるものと同じです。これは、addEventListener() を通じて追加された匿名関数は削除できないことも意味します。
例:
コードをコピー
解決策:
コードをコピーします
コードは次のとおりです:
注: ここでの 3 番目のパラメーターはすべて false であり、バブリング段階で追加されます。ほとんどの場合、さまざまなブラウザーとの互換性を最大限に高めるために、イベント ハンドラーはイベント フローのバブリング ステージに追加されます。
3: IE イベント ハンドラー
IE は、DOM のメソッドと同様の 2 つのメソッド、attachEvent() と detachEvent() を実装します。どちらのメソッドも、イベント ハンドラー名とイベント ハンドラー関数という同じ 2 つのパラメーターを受け入れます。 IE は時間バブリングのみをサポートしているため、attachEvent() を通じて追加されたすべてのイベント ハンドラーはバブリング ステージに追加されます。
例:
3:
var btn=document.getElementById("mybtn");
btn.attachEvent("onclick",function(){
alert("clicked");
})
注:attachEvent() 関数の最初のパラメータは、DOM の addEventListener() の「click」ではなく、「onclick」です。
attachEvent() メソッドを使用して、要素に複数のイベント ハンドラーを追加することもできます。
例:
var btn= document.getElementById( "mybtn");
btn.attachEvent("onclick",function(){
alert("clicked");
}); ,function() {
alert("hello world!");
});
attachEvent() を使用して追加されたイベントは、同じパラメータであれば detachEvent() で削除できます。
var hander=function(){
alert("clicked");
}
btn.detachEvent("onclick",hander}); //
上記の 3 つのメソッドは現在、主要なイベント ハンドラー メソッドです。これを見ると、ブラウザーごとに異なる違いがあるため、ブラウザー間イベント ハンドラーをどのように確保するか? と考えるでしょう。
ここでは EventUtil オブジェクトが提供されており、ブラウジング中の差異を処理するために使用できます。
if (element.addEventListener){ //渡された要素に DOM2 レベルのメソッドがあるかどうかを確認します
element.addEventListener(type, handler, false) // 存在する場合は、このメソッドを使用します} else if (element .addEvent){ // IE メソッドがある場合は、
element.attachEvent("on" type, handler); // ここでのイベント タイプにはプレフィックスを付ける必要があることに注意してください。 「オン」で。
} else { // 最後の可能性は、DOM0 レベルを使用することです
element["on" type] = hander;
}
},
removeHandler: function(element, type, handler){ // このメソッドは、以前に追加されたイベント ハンドラーを削除します
if (element.removeEventListener){ // 渡された要素が存在するかどうかを確認します DOM2 レベルのメソッド
element.removeEventListener(type, handler) , false); // 存在する場合はこのメソッドを使用します
} else if (element.detachEvent){ // 存在する場合は IE のメソッド
element.detachEvent("on" type, handler);次に、IE メソッドを使用します。ここでのイベント タイプには先頭に「on」を付ける必要があることに注意してください。
} else { // 最後の可能性は、DOM0 とメソッドを使用することです (最新のブラウザでは、ここのコードは実行しないでください)
element["on" type] = null;
EventUtil オブジェクトは次のように使用できます:
var btn =document.getElementById("mybtn");
var hander= function(){
alert("clicked")
};コードの一部は省略されています
EventUtil.addHandler(btn,"click",hander);
//ここではコードの一部が省略されています
EventUtil.removeHandler(btn,"click",hander); //削除前 追加したイベントハンドラ

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Python GUIプログラミングの簡単な紹介 GUI (Graphical User Interface、グラフィカル ユーザー インターフェイス) は、ユーザーがコンピュータとグラフィカルに対話できるようにする方法です。 GUI プログラミングとは、プログラミング言語を使用してグラフィカル ユーザー インターフェイスを作成することを指します。 Python は、豊富な GUI ライブラリを提供する人気のプログラミング言語であり、Python GUI プログラミングを非常に簡単にします。 Python GUI ライブラリの概要 Python には多くの GUI ライブラリがあり、最も一般的に使用されるものは次のとおりです: Tkinter: Tkinter は、Python 標準ライブラリに付属する GUI ライブラリで、シンプルで使いやすいですが、機能が限られています。 PyQt: PyQt は、強力な機能を備えたクロスプラットフォーム GUI ライブラリです。

はじめに CircularQueue は線形キューを改良したもので、線形キューのメモリ浪費の問題を解決するために導入されました。循環キューは、FIFO 原理を使用して要素を挿入および削除します。このチュートリアルでは、循環キューの操作とその管理方法について説明します。循環キューとは何ですか?循環キューは、フロントエンドとバックエンドが相互に接続されたデータ構造の別のタイプのキューです。循環バッファとも呼ばれます。これは線形キューと同様に動作しますが、なぜデータ構造に新しいキューを導入する必要があるのでしょうか?線形キューを使用する場合、キューがその上限に達すると、末尾ポインターの前にいくらかのメモリ領域が存在する可能性があります。これによりメモリの損失が発生するため、優れたアルゴリズムではリソースを最大限に活用できる必要があります。メモリの無駄を解決するには

PHP8.0 のイベント処理ライブラリ: Event インターネットの継続的な発展に伴い、PHP は人気のバックエンド プログラミング言語として、さまざまな Web アプリケーションの開発に広く使用されています。このプロセスでは、イベント駆動のメカニズムが非常に重要な部分になっています。 PHP8.0 のイベント処理ライブラリ Event は、より効率的で柔軟なイベント処理メソッドを提供します。イベント処理とは何ですか? イベント処理は、Web アプリケーションの開発において非常に重要な概念です。イベントは任意の種類のユーザー行にすることができます

バブリング イベントとは、Web 開発において、要素でイベントがトリガーされると、イベントがドキュメント ルート要素に到達するまで上位の要素に伝播することを意味します。この伝播方法は、泡が下から徐々に上昇していくようなものであるため、バブリングイベントと呼ばれます。実際の開発では、イベントを正しく処理するために、バブリング イベントがどのように機能するかを知り、理解することが非常に重要です。以下では、バブリングイベントの概念と使用法を、具体的なコード例を通して詳しく紹介します。まず、親要素と 3 つの子要素を持つ単純な HTML ページを作成します。

イベント バブリングのアプリケーション シナリオと、それがサポートするイベントの種類 イベント バブリングとは、要素上のイベントがトリガーされると、イベントがその要素の親要素に渡され、その後要素の祖先要素に渡されることを意味します。ドキュメントのルート ノードに渡されます。これはイベント モデルの重要なメカニズムであり、幅広い応用シナリオがあります。この記事では、イベント バブリングのアプリケーション シナリオを紹介し、イベント バブリングがサポートするイベントの種類について説明します。 1. アプリケーション シナリオ イベント バブリングには、Web 開発における幅広いアプリケーション シナリオがあります。ここでは、一般的なアプリケーション シナリオをいくつか紹介します。フォーム内でのフォーム検証

Vue の v-on ディレクティブの分析: フォーム送信イベントの処理方法 Vue.js では、v-on ディレクティブはイベント リスナーをバインドするために使用され、さまざまな DOM イベントをキャプチャして処理できます。その中でも、フォーム送信イベントの処理は Vue の一般的な操作の 1 つです。この記事では、v-on ディレクティブを使用してフォーム送信イベントを処理する方法を紹介し、具体的なコード例を示します。まず、Vue のフォーム送信イベントとは、ユーザーが送信ボタンをクリックするか Enter キーを押したときにトリガーされるイベントを指すことを明確にする必要があります。 Vue では、次のように渡すことができます。

Vue では、多くの場合、ネストされたコンポーネントがいくつかあり、これらのネストされたコンポーネント間でイベントを渡す必要があります。 Vue では、$emit イベントはコンポーネント間のイベント通信に使用されます。ただし、場合によっては、親コンポーネントのイベント ハンドラーをネストされた子コンポーネントに渡す必要がある場合、$emit イベントの使用は適切ではありません。このとき、Vue が提供する $listeners を使用してイベント処理関数を渡すことができます。それで、$listener とは何ですか?

ブレイン マップ機能における PHP と Vue のキー コード実装の詳細な検討 概要: この記事では、マインド マップ機能の実現における PHP と Vue のキー コード実装について詳しく説明します。ブレイン マッピングは、思考構造や関係性を表示するために一般的に使用されるグラフィカル ツールで、プロジェクト計画、知識管理、情報整理などの分野で広く使用されています。 PHP と Vue の関連知識を学ぶことで、シンプルかつ強力な脳マッピング アプリケーションを実装できます。 PHPPHP は一般的に使用されるサーバー側スクリプト言語であることを理解します。習得が簡単で拡張性が高い
