Ich versuche, eine Funktion aufzurufen, die bereits mit Ereignislistenern funktioniert.JQuery übergibt Wert an Funktion, die Ereignisobjekt akzeptiert Argument
Zum Beispiel ich mein Event-Listener:
$('#country_choice').on('change', {opt: 1}, revealOption);
und die revealOption Funktion enthält eine switch-Anweisung:
function revealOption(event){
var n = event.data.opt;
switch(n) {
case 1:
// 1 reveal city
$('#city_form').removeClass('hidden');
//alert("Reveal city");
break;
case 2:
// 2 reveal produce
$('#prod_form').removeClass('hidden');
//alert("Reveal prod");
break;
case 3:
// 3 reveal all
$('#city_form').removeClass('hidden');
$('#prod_form').removeClass('hidden');
alert("Reveal all");
break;
}
}
aber ich versuche, in anderen um diese Funktion nutzen können Funktionen, die nicht Teil des Event-Handlers sind.
Ich würde es vorziehen zu vermeiden, eine andere Funktion zu schreiben, um die gleiche Aufgabe zu tun, aber es schwierig zu finden, herauszufinden, ob es möglich ist.
Die nächste Frage, die ich bei der Untersuchung von SO gefunden habe, ist function handle jQuery event and parameter?, jedoch handelt es sich dabei um die Übergabe des Ereignisobjekts an eine andere Funktion, die keinen Wert übergibt.
Jede Hilfe wäre dankbar geschätzt :)
zu überprüfen. Ich würde vorschlagen, Ihren Code so zu refactorisieren, dass Sie die Argumente direkt an die Funktion übergeben, zB 'function revealOption (opt)'. Die Angabe der Funktionsreferenz zu einem Event-Handler ist ein guter syntaktischer Zucker, den JS anbietet, aber Sie können sich schnell in Knoten einbinden, wenn Sie den Umfang dieser Funktion ändern müssen. –