JQuery でのイベント バインディングは非常に一般的な操作です。 binding() メソッドを使用すると、イベントを要素に関連付けることができます。ただし、バインドされるイベントが多すぎると、パフォーマンスの問題が発生します。この問題を解決するには、不要なバインディング イベントをクリアする必要があります。そこで、jquery バインドのクリアを通じてこの問題を解決する方法について説明します。
JQuery は、イベントをバインドする複数の方法を提供します。メソッドの 1 つは、bind() です。 binding() メソッドを使用すると、指定したメソッドを特定の要素のイベントに関連付けることができます。このメソッドの構文は非常に単純です:
$(selector).bind(event,data,function);
その中で、パラメーターのeventはバインドする必要があるイベントの種類、dataは関数に渡すデータ、functionは関数に渡す関数です。実行されました。
イベントを要素に正常にバインドし、それをクリアする必要がある場合は、unbind() メソッドまたは off() メソッドを使用できます。
$(selector).unbind(event,function); $(selector).off(event,function);
unbind() メソッドと off() メソッドを使用して、要素に関連付けられたイベント ハンドラをクリアできます。最初のパラメータのevent はクリアする必要があるイベント タイプを指定し、2 番目のパラメータの function はクリアする必要があるイベント タイプを指定します。 Cleared イベント ハンドラーが必要です。 2 番目のパラメーター関数を指定しない場合、バインドされたイベントはすべてクリアされます。
unbind() メソッドを使用すると、bind() メソッドによってバインドされたイベントをクリアできます。たとえば、次のコードを使用してクリック イベントをバインドできます。
(function(){ $('#myElement').bind('click', function(e){ alert('click event occurred'); }); })();
上で説明したように、マウスが要素をクリックすると、クリック イベントが発生し、警告ボックスがポップアップします。ここで、それに関連付けられたイベント ハンドラーを削除したいので、ページにボタンを追加します:
<button id="removeEventHandler">Remove EventHandler</button>
次に、次のコード スニペット()をページに追加して、削除ボタンのクリック イベントを追加します。 。このイベントは、 unbind() メソッドを呼び出して、クリック イベントのハンドラーを削除し、ボタンに簡単な警告を追加します。
$('#removeEventHandler').click(function(e) { $('#myElement').unbind('click'); $(this).val('Event Handler Removed'); });
削除ボタンをクリックすると、クリック イベントが削除されます。これは、画像をクリックしても警告ボックスが表示されなくなることを意味します。
off() メソッドは、bind() メソッドにバインドされたイベントをクリアするためにも使用できます。このメソッドの構文は、unbind() メソッドと非常に似ています。以下に例を示します。
$('#myElement').off('click');
指定されたイベントがバインドされていないときに発生します。 1 つ以上のイベント ハンドラーは、off() メソッドを通じてクリアできます。パラメーターには、複数のイベント ハンドラーの名前を含む文字列または文字列配列を指定できます。ただし、unbind() メソッドとは異なり、要素のすべてのイベント ハンドラーは off() メソッドを介して削除できます。
この記事では、jquery バインドのクリアを通じて Jquery のイベント バインディングの問題を解決する方法を紹介しました。 unbind() メソッドと off() メソッドを使用してクリア操作を完了する方法を学びました。プログラムで多数のイベント バインディングを使用している場合は、それらを速やかにクリアすることが重要であることに注意してください。これにより、プログラムが効率的に実行され、遅延やその他の問題が回避されます。
以上がjQueryバインドクリアの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。