Heim  >  Artikel  >  Web-Frontend  >  Was ist der Unterschied zwischen bind und on in jquery?

Was ist der Unterschied zwischen bind und on in jquery?

王林
王林Original
2020-11-26 13:46:353756Durchsuche

Der Unterschied zwischen bind und on in jquery besteht darin, dass on binding einen childSelector-Parameter mehr hat als bind binding. bind kann nur Ereignisse zu dem Element selbst hinzufügen, das die Bedingungen erfüllt, und kann Ereignisse von untergeordneten Elementen zur Verarbeitung an das übergeordnete Element delegieren.

Was ist der Unterschied zwischen bind und on in jquery?

Umgebung:

Dieser Artikel gilt für alle Computermarken.

(Empfohlenes Tutorial: jquery-Video-Tutorial)

Unterschiedsanalyse:

bind und on werden beide verwendet, um Ereignisse an Elemente zu binden. Der größte Unterschied ist das Event-Bubbling.

Event-Bubbling ist auch der Prototyp delegierter Events. Event-Delegation bedeutet, Dinge der Unterklasse der übergeordneten Klasse anzuvertrauen. Der intuitivste Unterschied besteht darin, dass bei der Bindung ein Parameter „childSelector“ mehr vorhanden ist als bei der Bindung.

Syntax:

$(selector).on(event,childSelector,data,function)

Parameter:

Was ist der Unterschied zwischen bind und on in jquery?

$(selector).bind(event,data,function,map)

Parameter:

Was ist der Unterschied zwischen bind und on in jquery?

bind kann nur Ereignisse zum Element selbst hinzufügen, das die Bedingungen erfüllt, on kann die Ereignisse des untergeordneten Elements an das übergeordnete Element delegieren Verarbeitung und kann Bindungsereignisse an dynamisch hinzugefügte Elemente hinzufügen

Das heißt, wenn die neu hinzugefügten Elemente gebunden sind, werden auch neue Elemente, die die Bedingungen erfüllen, an das Ereignis gebunden. Wenn es gebunden ist, werden die neuen Elemente nicht gebunden betroffen.

Beispiel:

<ul>
    <li>第一个子元素<li/>
    <li>第二个子元素<li/>
    <li>第三个子元素<li/>
</ul>

Wir möchten Klickereignisse zu allen li hinzufügen. Sie können on verwenden:

 $(&#39;ul&#39;).on(&#39;click&#39;,&#39;li&#39;, function () {   
        console.log($(this).text());
});

oder Sie können bind verwenden:

 $(&#39;ul li&#39;).bind(&#39;click&#39;, function () { 
        console.log($(this).text());
});

Unterschied:

Die erste Bindung mit on delegiert es tatsächlich an das übergeordnete Element .ul, das heißt, das Ereignis ist nur an ein Element gebunden

Die zweite Möglichkeit besteht darin, mit dem Selektor alle li-Elemente unter ul auszuwählen und das Ereignis nacheinander zu binden

Wenn es viele, viele Unterelemente gibt, Der Unterschied ist sehr groß, die Bindung wird schwerwiegende Auswirkungen auf die Leistung haben kein Klickereignis sein.

Verwandte Empfehlungen:

JS-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen bind und on in jquery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn