ホームページ > ウェブフロントエンド > jsチュートリアル > jqueryのbindとonの違いは何ですか

jqueryのbindとonの違いは何ですか

王林
リリース: 2020-11-26 13:46:35
オリジナル
3794 人が閲覧しました

jquery におけるバインドとオンの違いは、オン バインディングにはバインド バインディングよりも childSelector パラメーターが 1 つ多いことです。 binding は、条件を満たす要素自体にイベントを追加することしかできません。on は、子要素のイベントを処理のために親要素に委任できます。

jqueryのbindとonの違いは何ですか

環境:

この記事は、すべてのブランドのコンピューターに適用されます。

(推奨チュートリアル: jquery ビデオ チュートリアル)

差異分析:

bind と on はどちらも要素バインディング イベントに使用され、その最大値は違いは、イベントがバブル化することです。

イベント バブリングも委任イベントの原型であり、イベントの委任とは、サブクラスのものを親クラスに委任することを意味します。最も直感的な違いは、バインドにはバインド バインディングよりもパラメーター「childSelector」が 1 つ多いことです。

構文:

$(selector).on(event,childSelector,data,function)
ログイン後にコピー

パラメータ:

jqueryのbindとonの違いは何ですか

$(selector).bind(event,data,function,map)
ログイン後にコピー

パラメータ:

jqueryのbindとonの違いは何ですか

binding は、条件を満たす要素自体にイベントを追加することしかできません。on は、子要素のイベントを処理のために親要素に委任でき、動的に追加された要素にバインディング イベントを追加できます。

つまり、新しく追加された要素の場合要素がバインドされている場合、条件を満たす新しい要素もイベントにバインドされます。バインドされている場合、新しい要素には影響しません。

例:

<ul>
    <li>第一个子元素<li/>
    <li>第二个子元素<li/>
    <li>第三个子元素<li/>
</ul>
ログイン後にコピー

すべての li にクリック イベントを追加したい場合は、on:

 $(&#39;ul&#39;).on(&#39;click&#39;,&#39;li&#39;, function () {   
        console.log($(this).text());
});
ログイン後にコピー

またはバインド:

 $(&#39;ul li&#39;).bind(&#39;click&#39;, function () { 
        console.log($(this).text());
});
ログイン後にコピー

を使用できます。違い:

on を使用した最初のバインディングは、実際には親 ul に委任します。つまり、イベントは 1 つの要素にのみバインドされます。

2 番目のバインディングは、セレクターを使用して ul すべての li 要素を選択します。 under は順番にイベントにバインドされます。

非常に多くのサブ要素がある場合、違いは大きくなり、バインドはパフォーマンスに深刻な影響を及ぼします!

ここに新しい li が追加されると、 time:

$(&#39;ul&#39;).append(&#39;<li>第四个子元素<li>&#39;);
ログイン後にコピー

オンバウンドの場合、この li にもクリック イベントが発生しますが、バインドの場合、クリック イベントは発生しません。

関連する推奨事項: js チュートリアル

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート