Heim >Web-Frontend >js-Tutorial >jQuerys $.proxy()-Anwendungsbeispiel Introduction_jquery

jQuerys $.proxy()-Anwendungsbeispiel Introduction_jquery

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-05-16 16:53:241121Durchsuche

Heute habe ich die Verwendung von Proxy() gesehen, als ich mir <> angesehen habe. Es fühlte sich sehr vage an, also habe ich überall nach Informationen gesucht Den Quellcode von jQuery verstehe ich auch nicht

Aber ich verstehe endlich die Verwendung von Proxy jQuerys $.proxy()-Anwendungsbeispiel Introduction_jquery



Kopieren Sie den Code

Der Code lautet wie folgt:


Code kopieren
Der Code lautet wie folgt: var obj = { name: „Ich bin der Name von obj“, sayName: function () {
alert(this.name);
}
$(“ #guoBtn").click(obj.sayName); //Ich bin der Name der Schaltfläche
// Was ist, wenn ich auf den Namen von obj zugreifen möchte?
$("#guoBtn").click($. Proxy(obj.sayName,obj));//"Ich bin der Name von Obj"
$("#guoBtn").click($.proxy(obj, "sayName")); //"Ich bin der Name von Obj "


Aus dem obigen Proxy(a,b) ist ersichtlich, dass es zwei Möglichkeiten gibt, seine Parameter zu schreiben.

Der erste Weg: a ist eine Funktion und b ist der Objektbesitzer dieser Funktion.

Der zweite Weg: a ist ein Objekt, b ist ein String und ist der Attributname von a.

Und dieses Beispiel ist ein Beispiel für < >




Code kopieren

Der Code lautet wie folgt: < ;div id="panel" style="display:none;"> 🎜>Code kopieren
Der Code lautet wie folgt:


$("#panel").fadeIn(function () {
$("#panel button").click(function () {
$( this).fadeOut();
}); 🎜>Obwohl die Schaltfläche verschwindet, verschwindet das Panel nicht. Sie können den Proxy verwenden, um dieses Problem zu lösen. lautet wie folgt:


$("#panel").fadeIn(function ( ) {
var obj = this;
$("#panel button").click($ .proxy(function () {
$(this).fadeOut();
}, obj ));


Das Panel verschwindet erst nach dem Klicken Die Schaltfläche.
Ich persönlich bin der Meinung, dass der Proxy hauptsächlich zum Ändern des Kontextobjekts verwendet wird, wenn die Funktion auf Basis von apply gekapselt wird anwenden.
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