ホームページ  >  記事  >  ウェブフロントエンド  >  バインド時のjQueryの違いは何ですか

バインド時のjQueryの違いは何ですか

一个新手
一个新手オリジナル
2017-10-07 11:39:521980ブラウズ

バージョン 1.7 以降、JQuery はイベント処理関数のバインドとキャンセルのために on() と off() を提供します。これら 2 つの API は、もともと JQuery によって提供されていた binding() および unbind() と多くの類似点がありますが、いくつかの違いもあります。バインドとバインド解除の詳細については、この記事を参照してください。

on() と binding() 関数のシグネチャは次のとおりです:


  1. bind(type, [data], fn)  
      
    on(type,[selector],[data],fn)

2 つの関数の違いは次のとおりです: セレクター パラメーター値がサポートされているかどうか。 JavaScript のイベント バブリング機能により、親要素にイベント ハンドラーを登録すると、子要素でイベントが発生すると、親要素のイベント ハンドラーもトリガーされます。 onを使用するときにセレクターを設定しない場合、onとbindの間に違いはありません。

<p id="parent">  
    <input type="button" value="a" id="a"/>  
    <input type="button" value="b" id="b"/>  
</p>

上記のコードで、bind()を使用してクリックイベントハンドラーを親にバインドすると、ボタンaまたはbがクリックされたときにイベントハンドラーが実行されます。 b をクリックしたときではなく、a がクリックされたときにトリガーしたい場合は、on を使用できます。コードは次のとおりです


$("#parent").on("click","#a",function(){  
    alert($(this).attr("id"));  
});
。on( のパラメーター セレクター) ) 関数はイベントで使用されます。バブリング時に、親要素が子要素で発生するイベントをフィルターで除外できるようにします。バインドが使用されている場合、そのような機能はなく、子要素で発生するイベントは確実に親要素のイベントをトリガーします。

もう 1 つ注意すべき点があります。on にバインドされたイベント処理関数は、将来追加される要素にも使用でき、デリゲートと同じ効果がありますが、バインドにはありません。

以上がバインド時のjQueryの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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