ホームページ >ウェブフロントエンド >フロントエンドQ&A >jqueryはスクロールイベントのリスニングをキャンセルします
Web アプリケーションを開発するとき、多くの場合、ページ上でのユーザーのスクロール動作を監視する必要があります。このとき、jQuery が提供するスクロール イベントを使用して、ユーザーのスクロール操作を監視できます。ただし、場合によってはスクロール イベントの監視をキャンセルする必要があり、これを実現するには jQuery が提供するいくつかの API を使用する必要があります。
次に、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()
このメソッドは、セレクター要素にバインドされているすべてのイベント リスナーをキャンセルします。
次に、off() メソッドを例に、jQuery を使用してスクロール イベントの監視をキャンセルする方法を紹介します。スクロールイベントの監視。
たとえば、次のコードはページのスクロールを監視するコードです:
$(window).scroll(function(){ console.log("scroll!"); });
このコードは、ウィンドウがスクロールするときに「スクロール!」というプロンプト メッセージを出力します。
このリスナーをキャンセルしたい場合は、以下に示すように、コードに off() メソッドを追加するだけです。
$(window).off("scroll");
このコード行は、ウィンドウ上のすべてのバインドをキャンセルします。要素。スクロール イベントのリスナー。
リスナーの 1 つだけをキャンセルしたい場合は、以下に示すように、イベントと関数を同時に指定する必要があります:
$(window).off("scroll",function(){ console.log("scroll!"); });
このコード行は、ウィンドウ要素のバインドを解除するだけです。処理関数は console で、.log("scroll!") のスクロール イベントのリスナーです。
上記は、jQuery を使用してスクロール イベントの監視をキャンセルする方法と手順です。 ##off ()、unbind()、および unbindAll() メソッドを使用してイベント リスナーをキャンセルできます。
以上がjqueryはスクロールイベントのリスニングをキャンセルしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。