Gewusst wie: übergeben einer variable per Referenz an einen event-handler in javascript?
Simuliert ich eine Klasse in java-script, Es ist code ist hier:
function myclass()
{
this.count ;
this.init = function(){
$("div.mybtn").click({n:this},function(e){
e.data.n.count++;
});
}
this.getCount = function(){
alert(this.count);
}
}
Dann erstellte ich eine Instanz dieser Klasse und ausgeführt, es ist Methode init()
,Aber wenn ich auf jede div.mybtn
element, dauerte Es nicht, erhöht sich der Wert this.count
.
Es scheint das Objekt this
übergeben wurde der event-handler-by-value, nicht per reference.
Wie kann ich übergeben Sie eine variable, um eine Ereignis-handler-Verweis?
Vielen Dank für jede Hilfe
Du musst angemeldet sein, um einen Kommentar abzugeben.
Javascript nicht haben pass-by-reference-Parameter. Für das, was Sie möchten, sollten Sie verwenden eine closure-variable:
Kann man nicht Inkrementieren
undefined
, irgendwo muss man ja anfangen:DEMONSTRATION
Schreiben Sie eine bind-Funktion und binden Sie den Zusammenhang mit dem Ereignis-handler.