Főoldalra

jQuery $.proxy

$.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.

jQery $.proxy()


1.Példa:
Ez egy div elem. Kattints a div területén.
$(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.