Ich versuche herauszufinden, wie Variablen an jQuery-Funktionen übergeben, aber ich bin nicht in der Lage, warum dieses (stark vereinfachte) Beispiel nicht wie vorgesehen funktioniert. Die Idee ist, dass eine Warnung angezeigt wird, wenn das Kontrollkästchen angeklickt wird.jQuery-Funktion beim Laden ausgeführt, wenn eine Variable übergeben
Kein Problem hier:
<input type="checkbox" class="check"/>
<script>
do_alert = function() {
alert("Welcome");
}
$('.check').change(do_alert);
</script>
Wenn jedoch die Warnung Text an die Funktion übergibt, wird die Benachrichtigung, sobald die Seite geladen wird gezeigt, mit dem richtigen Meldungstext:
<input type="checkbox" class="check"/>
<script>
do_alert = function(message) {
alert(message);
}
$('.check').change(do_alert("Welcome"));
</script>
Wie geht das:
<input type="checkbox" class="check"/>
<script>
function do_alert(message) {
alert(message);
}
$('.check').change(do_alert("Welcome"));
</script>
In beiden Fällen wird die Funktion nicht ausgeführt, wenn Sie das Kontrollkästchen aktivieren, aber es ist eingeschaltet Laden der Seite Was fehlt mir hier?
'change' erwartet eine Funktion als Argument, aber mit' do_alert ("Welcome") 'rufen Sie die Funktion auf und übergeben nur ihre' undefined' Ergebnisse – haim770