ホームページ >ウェブフロントエンド >フロントエンドQ&A >jqueryはスクロールイベントのリスニングをキャンセルします

jqueryはスクロールイベントのリスニングをキャンセルします

王林
王林オリジナル
2023-05-24 22:46:381119ブラウズ

Web アプリケーションを開発するとき、多くの場合、ページ上でのユーザーのスクロール動作を監視する必要があります。このとき、jQuery が提供するスクロール イベントを使用して、ユーザーのスクロール操作を監視できます。ただし、場合によってはスクロール イベントの監視をキャンセルする必要があり、これを実現するには jQuery が提供するいくつかの API を使用する必要があります。

次に、jQueryを使ってスクロールイベントの監視を解除する方法を詳しく紹介します。

  1. jQuery が提供するスクロール イベント監視をキャンセルするメソッド

jQuery には、スクロール イベント監視をキャンセルするための 3 つのメソッドがあります。off()、unbind( )、および unbindAll( )。

(1) off() メソッド

off() メソッドは、DOM 要素にバインドされているすべてのイベント リスナーをキャンセルするために使用されます。構文は以下のとおりです。

$(selector).off(event,[selector],[function])

このうち、selectorはキャンセル対象のDOM要素のセレクタ、eventはキャンセル対象のイベント名、functionはキャンセル対象のイベント処理関数を表します。

イベントのみが指定されている場合、セレクターにバインドされているイベントのすべてのリスナーがキャンセルされます。イベントと関数の両方を指定した場合、指定されたリスナーのみがキャンセルされます。

(2) unbind() メソッド

unbind() メソッドは、DOM 要素にバインドされたイベントのリスナーをキャンセルするためにも使用されます。その構文は、次に示すように、off() メソッドと似ています。

$(selector).unbind(event,[function])

このうち、selector はキャンセルされる DOM 要素のセレクターを表し、event はキャンセルされるイベント名を表し、function はキャンセルされる DOM 要素のセレクターを表します。キャンセルされるイベントの処理関数。

このメソッドと off() メソッドの違いは、unbind() メソッドはセレクター要素にバインドされた指定されたイベントの指定されたハンドラー関数のリスナーのみをキャンセルすることです。

(3) unbindAll() メソッド

unbindAll() メソッドは、バインドされているすべてのイベント リスナーをキャンセルするために jQuery によって特別に提供されるメソッドです。構文は次のとおりです。

$(selector).unbind()

このメソッドは、セレクター要素にバインドされているすべてのイベント リスナーをキャンセルします。

  1. jQuery を使用してスクロール イベントの監視をキャンセルする方法

次に、off() メソッドを例に、jQuery を使用してスクロール イベントの監視をキャンセルする方法を紹介します。スクロールイベントの監視。

たとえば、次のコードはページのスクロールを監視するコードです:

$(window).scroll(function(){
    console.log("scroll!");
});

このコードは、ウィンドウがスクロールするときに「スクロール!」というプロンプト メッセージを出力します。

このリスナーをキャンセルしたい場合は、以下に示すように、コードに off() メソッドを追加するだけです。

$(window).off("scroll");

このコード行は、ウィンドウ上のすべてのバインドをキャンセルします。要素。スクロール イベントのリスナー。

リスナーの 1 つだけをキャンセルしたい場合は、以下に示すように、イベントと関数を同時に指定する必要があります:

$(window).off("scroll",function(){
    console.log("scroll!");
});

このコード行は、ウィンドウ要素のバインドを解除するだけです。処理関数は console で、.log("scroll!") のスクロール イベントのリスナーです。

  1. 概要

上記は、jQuery を使用してスクロール イベントの監視をキャンセルする方法と手順です。 ##off ()、unbind()、および unbindAll() メソッドを使用してイベント リスナーをキャンセルできます。

    off() メソッドは、すべてのイベントのリスナー、指定されたイベントのみ、またはのみをキャンセルできます。指定されたイベント。リスナーを指定します。
  • unbind() メソッドは、指定されたイベントの指定されたリスナーのみをキャンセルできます。
  • unbindAll() メソッドは、すべてのイベントのリスナーをキャンセルするために特別に使用されます。 events;
  • 実際のニーズに基づいて、イベント リスナーをキャンセルするために使用する方法を選択できます。

以上がjqueryはスクロールイベントのリスニングをキャンセルしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。