$.proxy Ez a metódus egy meglévő funkciót visszaad, egy új adott kontextusban.
Gyakran használják események egy elemhez történő rögzítésére, ahol a kontextus, más objektumra mutat vissza.
$(document).ready(function(){ test = function(){ this.txt = "Ez egy objektum tulajdonság."; // $("div").click($.proxy(this.myClick, this)); // Ez, minden div szakaszra érvényes. $("#prox").click($.proxy(this.myClick, this)); // Ez, csak az id=prox azonosítóval rendelkező div szakaszra érvényes. }; test.prototype.myClick = function(event){ alert(this.txt); alert(event.currentTarget.nodeName); }; var x = new test(); });
2.Példa:
Futtassuk le, a funkciókat. Kattintsunk a button gombokra!
$(document).ready(function(){ var celSzemelyKJ = { Neve: "Kovács János", Kora: 45, Cime:"jQuery út 322", adatai: function() { $("#d_proxy").html("Neve: " + this.Neve + "<br />Életkora: " + this.Kora + "<br />Lakcíme: " + this.Cime); } }; var celSzemelyKF = { Neve: "Kovács Ferenc", Kora: 65, Cime:"jQuery út 22", adatai: function() { $("#d_proxy").html("Neve: " + this.Neve + "<br />Életkora: " + this.Kora + "<br />Lakcíme: " + this.Cime); } }; $("#btnKJ").click($.proxy(celSzemelyKJ, "adatai")); $("#btnKF").click($.proxy(celSzemelyKF, "adatai")); }); <button id="btnKJ">1.<br /> Kovács János<br />Adatai.</button> <button id="btnKF">2.<br /> Lakatos Ferenc<br />Adatai.</button> <p id="d_proxy"></p> // Adatok kiíratásának helye.