2 Stimmen

eine Funktion als Parameter übergeben?

Hier ist mein Ereignis und wie Sie sehen können, möchte ich eine Funktion mit ihm als Parameter senden.

onclick="deleteItems('image', 'size', function(){GetImageSize();})"

Die Löschfunktion befindet sich in einer js-Datei. In meiner js-Datei möchte ich meine Funktion GetImageSize() aufrufen.

var deleteItems = function(module, controller, callback) {
   callback(); // ??????????    
}

Ich möchte dies tun, damit ich meine Tabelle neu aufbauen kann, wenn mein Ajax-Aufruf beendet ist.

Ich hoffe, ihr könnt mir helfen

Mit freundlichen Grüßen Örvar

3voto

Nathan Hughes Punkte 90344

Sie können auf die Funktion verweisen, ohne sie aufzurufen - verwenden Sie nur nicht die abschließenden Parens. Die Parens bedeuten, dass Sie die Funktion aufrufen. Wenn Sie die Funktion als Rückruf an eine andere Funktion weitergeben, sollten Sie die Parens weglassen. (Und Sie brauchen die anonyme Funktionsdeklaration nicht.) Sie sollte lauten:

onclick="deleteItems('image', 'size', GetImageSize);"

3voto

Daniel Vassallo Punkte 325264

JavaScript-Funktionen sind Objekte erster Klasse . Sie können Funktionen in Variablen speichern und diese als Argumente an Funktionen weitergeben. Jede Funktion ist eigentlich eine Function Objekt.

Wenn Sie also eine GetImageSize() Funktion, können Sie sie einfach an die deleteItems() Funktion wie jede andere Variable:

deleteItems('image', 'size', GetImageSize);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X