速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【JavaScript】イベントリスナーを削除する【removeEventListener】

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】イベントリスナーを削除する【removeEventListener】

目次

本記事では、JavaScriptで設定したを削除する方法をご紹介しています。

ある処理の後にイベントリスナーを削除したいんだけど、どうすればいいの?

上記の疑問にお答えしています。

では、解説していきます。

スポンサーリンク

removeEventListenerでイベントリスナーを削除する

イベントリスナーの削除にはremoveEventListenerというメソッドを使用します。addEventListenerで登録したイベントリスナーや登録済みのイベントリスナーを削除することができます。

removeEventListenerの構文は下記の通り。引数はaddEventListenerと同様にoptionとuseCaptureを指定することができます。

構文

target.removeEventListener(type, listener[, options]);
target.removeEventListener(type, listener[, useCapture]);

※useCaptureの詳細については、下記のリンクをご参照ください!

removeEventListenerで登録したイベントリスナーを削除できることがわかりました。では実際に登録したイベントリスナーが削除できるか検証していきます。

イベントリスナーを削除する

検証のためにイベントリスナーを登録します。ボタンをクリックするとアラートが表示される処理を作成します。HTMLで作成した要素にクリックイベントを登録してみます。

HTML

<button id="btn">Click Me!</button>

JS


let btn = document.getElementById('btn');
const onClick = ()=> {
    alert('クリックされました!');
}

btn.addEventListener('click', onClick, false);

下記は動作確認用のデモになります。ボタンをクリックすると元気なメッセージのアラートが表示されるかと思います。

See the Pen 6066-1 by ryohei (@intotheprogram) on CodePen.

ちゃんとイベントリスナーが登録されていますね!クリックすると関数が呼び出されてブラウザ上にアラートが表示されています。

では、今度は登録したイベントリスナーを削除してみます。登録した直後にイベントリスナーを削除するように下記を追記します。

btn.removeEventListener('click', onClick, false);

動作確認。果たしてイベントリスナーは削除されているでしょうか。ボタンをクリックしてアラートが表示されるかどうか……。

いざ実行です!

See the Pen 6066-2 by ryohei (@intotheprogram) on CodePen.

ボタンをクリックしてもアラートは表示されませんね。きちんとイベントリスナーが削除されています。万歳!これでいつでもイベントリスナーを削除することができるようになりますね。

スポンサーリンク

最後に

登録したイベントリスナーを削除したいケースは多々あります。1回だけ実行する、ある処理中だけ削除して処理が終わったら再登録する、など使用できる場面は様々です。ぜひ使い方をマスターしてくださいね!

以上、JavaScriptでイベントリスナーを削除するremoveEventListenerメソッドのご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

イベントリスナー

クリックやスクロール、キー入力などの出来事(イベント)が起きたときに実行する処理を登録する仕組み。

詳しく見る